Question on the "csv" library
Steven Rumbalski
googleaccount at rumbalski.com
Fri Aug 28 11:43:42 EDT 2009
On Aug 27, 3:06 pm, vsoler <vicente.so... at gmail.com> wrote:
> I am trying to read a csv file generated by excel.
>
> Although I succeed in reading the file, the format that I get is not
> suitable for me.
>
> I've done:
>
> >>> import csv
> >>> spamReader = csv.reader(open('C:\\abc.csv', 'r'))
> >>> print spamReader
>
> <_csv.reader object at 0x01022E70>
>
> >>> for row in spamReader:
>
> print row
>
> ['codigo;nombre;cantidad']
> ['a;qwe;1']
> ['b;asd;2']
> ['c;zxc;3']
>
> My questions are:
>
> 1- Why using "print spamReader" I cannot see the data?
> I expected to see a list of lists, a kind of a matrix, but I get
> nothing
>
> 2- Why are the rows in a single string?
> I expected a list of fields that, when text, would be delimited by
> "
> To tell the truth, the file generated by excel does not contain the
> strings delimited by ". Isn't it weird?
>
> 3- Is there anything I can do to have my data in a list of lists
> structure? would another kind of data suit better my needs?
>
> Thank you for your help
>
> Vicente Soler
the csv module can handle any delimiter.
change this >>> spamReader = csv.reader(open('C:\\abc.csv', 'r'))
to this >>> spamReader = csv.reader(open('C:\\abc.csv', 'r'),
delimiter=';')
hope this helps,
Steven Rumbalski
More information about the Python-list
mailing list