[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.python

Problem reading csv files

Ram

1/4/2008 4:24:00 AM

Hi,

I am trying to read a csv file using csv.reader. The file is created
using Open Office and saved in Excel format.

import csv

reader = csv.reader(open('test.xls'))
for row in reader:
print row

It however throws the exception _csv.Error:
<class '_csv.Error'>: line contains NULL byte

Any idea whats going wrong here?

Thanks in advance,
Ram
3 Answers

gsal

1/4/2008 4:45:00 AM

0

Well, I don't know much python, yet, but I know a csv file when I see
one...and an Excel files in not a csv file.

As far as I know, an Excel file is stored probably in binary and in a
propriatery format...I doubt very much csv.reader would read that just
like that; then again, I know nothing about cvs.reader.

A csv file is a comma-separated-file and it is plain text file that
humans can read with a simple editor...

I think I would skip that part where you make OpenOffice store the
file in Excel format and simply save it to plain text.

Hope this helps.

gsal

Chris

1/4/2008 7:28:00 AM

0

On Jan 4, 6:24 am, Ramashish Baranwal <ramashish.li...@gmail.com>
wrote:
> Hi,
>
> I am trying to read a csv file using csv.reader. The file is created
> using Open Office and saved in Excel format.
>
> import csv
>
> reader = csv.reader(open('test.xls'))
> for row in reader:
> print row
>
> It however throws the exception _csv.Error:
> <class '_csv.Error'>: line contains NULL byte
>
> Any idea whats going wrong here?
>
> Thanks in advance,
> Ram

XLS != CSV
XLS is M$'s format for spreadsheets whereas CSV is essentially a text
document with comma-delimited fields. If you open it up in OpenOffice
and go File -> Save As then in the 'Save as type:' drop-down list
select 'Text CSV (.csv)' and ofc change your code to point to the new
file.

If you want to retain it in XLS Format and rather parse that, take a
look at 'xlrd' and 'pyExcelerator'

Ram

1/5/2008 6:42:00 AM

0

>
> XLS != CSV
> XLS is M$'s format for spreadsheets whereas CSV is essentially a text
> document with comma-delimited fields. If you open it up in OpenOffice
> and go File -> Save As then in the 'Save as type:' drop-down list
> select 'Text CSV (.csv)' and ofc change your code to point to the new
> file.
>
> If you want to retain it in XLS Format and rather parse that, take a
> look at 'xlrd' and 'pyExcelerator'

Thanks for the reply. I made the mistake of assuming XLS = CSV :)

Ram