[pyar] csvreader no acepta list objects

Luis Andraschnik luis.andraschnik en gmail.com
Mar Jun 12 16:57:39 -03 2018


Pretendía modelar en memoria un archivo csv  como lista de listas y ver si
para procesarlo me servía para algo el módulo csvreader o lo hago a
manopla. Para trabajar en una raspberrypi/Flask sin que se graben en la
tarjeta de memoria los datos haría un upload (en memoria), un procesamiento
y devolver un archivo

Salu2
Luis

2018-06-12 16:37 GMT-03:00 Tomas Zulberti <tzulberti en gmail.com>:

>
>
> On Tue, Jun 12, 2018 at 4:30 PM, Luis Andraschnik <
> luis.andraschnik en gmail.com> wrote:
>
>> Hola gente
>>
>> Según la doc de Python 3.6 :
>>
>> csv.reader(*csvfile*, *dialect='excel'*, ***fmtparams*)
>>
>> Return a reader object which will iterate over lines in the given
>> *csvfile*. *csvfile* can be any object which supports the iterator
>> <https://docs.python.org/3/glossary.html#term-iterator> protocol and
>> returns a string each time its __next__() method is called — file objects
>> <https://docs.python.org/3/glossary.html#term-file-object> and ---->>****list
>> objects**** <<-------are both suitable
>> ¿Porqué esto no funciona?
>>
>> import csv
>> csv_list = [['Spam', 'Spam', 'Spam', 'Spam', 'Spam'], ['Baked Beans',
>> 'Spam', 'Lovely Spam', 'Wonderful Spam']]
>> with open(csv_list) as csvfile:
>>     spamreader = csv.reader(csvfile, delimiter=',', quotechar="'")
>>
>
>>
>> Traceback (most recent call last):
>>   File "prueba.py", line 3, in <module>
>>     with open(csv_list) as csvfile:
>> TypeError: invalid file: [['Spam', 'Spam', 'Spam', 'Spam', 'Spam'],
>> ['Baked Beans', 'Spam', 'Lovely Spam', 'Wonderful Spam']]
>>
>>
> Lo que no esta funcionando es el `open(csv_list)`. O sea, que en tu caso
> deberias directamente hacer:
>
> import csv
> csv_list = [['Spam', 'Spam', 'Spam', 'Spam', 'Spam'], ['Baked Beans',
> 'Spam', 'Lovely Spam', 'Wonderful Spam']]
> csv.reader(csv_list, delimiter=',', quotechar="'")
>
>
> De todas formas, no entiendo muy bien lo que estas intentando de hacer
> porque eso tampoco funciona
> ya que la lista, deberia ser una lista de strings y no una lista de
> listas. O sea, deberia ser algo asi:
>
> csv_list = ['Spam,Spam,Spam,Spam,Spam', 'Baked Beans,Spam,Lovely
> Spam,Wonderful Spam']
>
>
>>
>>
>> _______________________________________________
>> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
>> Sitio web: http://www.python.org.ar/
>>
>> Para administrar la lista (o desuscribirse) entrar a
>> http://listas.python.org.ar/listinfo/pyar
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180612/2a5ac26e/attachment.html>


Más información sobre la lista de distribución pyar