Question on the "csv" library

Steven Rumbalski googleaccount at rumbalski.com
Fri Aug 28 17:43:42 CEST 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