D
David Pratt
Hi. I have had good success with CSV module but recently came across
problem with reading excel from Mac Office. The trouble is with line
endings. Instead of \r\n you have just \r and the file as a whole
appears as a single line. CSV coughs and provides this exception:
_csv.Error: newline inside string
Saving as Windows (text) in Mac Office solves this but I don't
necessarily want to force users to save this way just to avoid
modifying my code. There is a lineterminator in the package. Adding
parameter lineterminator='\r' did not correct the problem.
The way I am reading tab delimited to dictionary:
lines = sample.readlines()
headers = csv.reader(lines, delimiter='\t').next()
rows = csv.DictReader(lines, headers, delimiter='\t')
for row in rows:
print row
Regards,
David
problem with reading excel from Mac Office. The trouble is with line
endings. Instead of \r\n you have just \r and the file as a whole
appears as a single line. CSV coughs and provides this exception:
_csv.Error: newline inside string
Saving as Windows (text) in Mac Office solves this but I don't
necessarily want to force users to save this way just to avoid
modifying my code. There is a lineterminator in the package. Adding
parameter lineterminator='\r' did not correct the problem.
The way I am reading tab delimited to dictionary:
lines = sample.readlines()
headers = csv.reader(lines, delimiter='\t').next()
rows = csv.DictReader(lines, headers, delimiter='\t')
for row in rows:
print row
Regards,
David