On Aug 28, 5:43 pm, Steven Rumbalski <googleacco...@rumbalski.com> wrote: > On Aug 27, 3:06 pm, vsoler <vicente.so...@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
Thank you very much for all your comments. After reading them I can conclude that: 1- the CSV format is not standardized; each piece of software uses it differently 2- the "C" in "CSV" does not mean "comma" for Microsoft Excel; the ";" comes from my regional Spanish settings 3- Excel does not even put quotes around litteral texts, not even when the text contains a blank But, perhaps, there is no standard alternative to CSV !!! -- http://mail.python.org/mailman/listinfo/python-list