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?
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.
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.
PrettyTable is a Python library that is used to represent tabular data in visually appealing ASCII tables. It is quick and easy to use.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With