-
Notifications
You must be signed in to change notification settings - Fork 106
Open
Description
The following pattern is used often to read csv files:
with open(filename, 'rU') as csvfile:
reader = unicodecsv.DictReader(csvfile)
I think this worked in python2 since the str and bytes types were synonymous. However, this breaks in python3 since unicodecsv expects the file to be opened in binary mode, which it is not.
For example, the following fails in python3 with the error AttributeError: 'str' object has no attribute 'decode'
import unicodecsv
filename = 'openelex/us/md/mappings/md.csv'
with open(filename, "r") as data:
reader = unicodecsv.DictReader(data)
for row in reader:
print(row)
Using csv instead of unicodecsv fixes the issue.
import csv
filename = 'openelex/us/md/mappings/md.csv'
with open(filename, "r") as data:
reader = csv.DictReader(data)
for row in reader:
print(row)
Is there something wrong with my setup, or is this broken for other people as well?
Metadata
Metadata
Assignees
Labels
No labels