read csv error question

MRAB google at mrabarnett.plus.com
Tue Feb 24 01:08:51 CET 2009


Benjamin Kaplan wrote:
> 
> 
> On Mon, Feb 23, 2009 at 6:43 PM, MRAB <google at mrabarnett.plus.com 
> <mailto:google at mrabarnett.plus.com>> wrote:
> 
>     Vincent Davis wrote:
> 
>         I am trying to read a csv file from excel on a mac. I get the
>         following error.
>         SystemExit: file some.csv, line 1: new-line character seen in
>         unquoted field - do you need to open the file in
>         universal-newline mode?
>         I was using the example code
>         import csv, sys
> 
>         reader = csv.reader(open('/Volumes/vincentdavis
>         2/match/data/matchdata2008.csv', "rb"))
>         try:
>            for row in reader:
>                print row
>         except csv.Error, e:
>            sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))
> 
>         I think this has to do with the end of line character but I am
>         unsure how to fix it. I don't what to change the actual csv file
>         I would like to fix the code.
> 
>     FYI, Mac line endings are carriage-return '\r', Linux line endings
>     are linefeed '\n', and Windows endings are _both_ '\r\n'.
> 
> 
> Just to clarify, only the old Mac OSes (1-9) use carriage returns. OS X 
> is Unix-based so it uses line feeds.
> 
Slightly OT, but PPD files on Macs used to work whatever the line
endings (as they should, according to the spec), but at some point on
MacOS X they broke that and PPD files would work only with CR line
endings. I don't know if they've fixed that. Anyway, although it's Unix
underneath I'm not so sure that they don't use CR line endings elsewhere
for backwards compatibility.



More information about the Python-list mailing list