Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python PrettyTable Example

So I have this PrettyTable example which I have copied from the documentation but I get an error.

#!/usr/bin/python

from prettytable import PrettyTable
import csv

x = PrettyTable(["City name", "Area", "Population", "Annual Rainfall"])
x.align["City name"] = "l" # Left align city names
x.padding_width = 1 # One space between column edges and contents (default)
x.add_row(["Adelaide",1295, 1158259, 600.5])
x.add_row(["Brisbane",5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])
print x

This is the error I get.

Traceback (most recent call last):
File "/home/definity/Desktop/Cloud/code/Python/Finacial.py", line 3, in <module>
from prettytable import PrettyTable
File "/usr/local/lib/python2.7/dist-packages/prettytable-0.7.2-     py2.7.egg/prettytable.py", line 35, in <module>
import csv
File "/home/definity/Desktop/Cloud/code/Python/csv.py", line 6, in <module>
reader = csv.reader(ifile)
AttributeError: 'module' object has no attribute 'reader'
[Finished in 0.1s with exit code 1]

How come I am getting an error from the first example?

like image 883
Definity Avatar asked Sep 03 '13 21:09

Definity


People also ask

How do you get PrettyTable?

The quickest way to get data into a PrettyTable object is to build a table from data which is already stored in some table-like format. The variable pt will then be a fully populated PrettyTable object. Note that the first row of the CSV file will be interpreted as the field names and used for the table header.

How do I install a PrettyTable module in Python?

Download the latest version of PrettyTable from the Downloads tab at this Google code project site. Save the file as "prettytable.py" (not prettytable-x.y.py) in your Python installation's "site-packages" directory.

What is a pretty table?

PrettyTable is a Python library that is used to represent tabular data in visually appealing ASCII tables. It is quick and easy to use.


1 Answers

You probably have a file that's called csv.py next to your Finacial.py script, which is shadowing the built-in csv module - hence causing its import (more precisely: attribute access) to fail.

It's probably /home/definity/Desktop/Cloud/code/Python/csv.py, but could also be /home/definity/Desktop/Cloud/code/Python/csv.pyc, or even a csv folder.

like image 190
Thomas Orozco Avatar answered Sep 17 '22 01:09

Thomas Orozco