Python - Crear un archivo csv a partir de una lista

 
Vista:

Crear un archivo csv a partir de una lista

Publicado por liz (2 intervenciones) el 20/06/2017 04:55:09
Hola foro. buenas noches.
Quisiera ver si me pudiesen ayudar, llevo un buen rato intentando y nada. tengo n elementos en una lista y quisiera guardarlos en un documento csv.

Haciendo pruebas, he intentado esto.
import numpy as np

1
2
3
4
5
6
7
8
9
10
11
l=[[1,2,3,4],[5,6,7,8]]
datos = np.asarray(l)
l1 = [5,6,7]
l2 = [8,9,10]
 
np.savetxt("output.csv",   # Archivo de salida
           datos,        # Trasponemos los datos se usa T
           fmt="%d",       # Usamos números enteros
           delimiter=","
           #newline="\n"
           )

También he intentado esto, pero me marca error
1
2
3
4
5
6
7
import csv
 
 
lista = [1,2,3]
 
file = open("eggs.csv",newline='')
spamreader = csv.writerrow(file,lista)

he intentado más pruebas, pero todas fallidas y siempre me marca error
el primer ejemplo donde hago uso de numpy si me crea el archivo csv, el problema es que no veo la forma de seguir agregando valores nuevos al archivo, y además que irán datos enteros y string.

Estoy buscando que el archivo quede así

dato 1, dato 2... dato n... dato string1
dato 1, dato 2.... dato n...dato String2

Por favor, necesito ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Crear un archivo csv a partir de una lista

Publicado por kip (257 intervenciones) el 20/06/2017 19:29:25
Hola, debes recordar que la funcion cs.writer() retorna un objeto el cual tiene la funciones para poder escribir sobre el csv

Return a writer object responsible for converting the user’s data into delimited strings on the given file-like object. csvfile can be any object with a write() method.....
https://docs.python.org/3/library/csv.html#csv.writer

Si te fijas en los ejemplos de la url anterior te daras cuenta que debes hacerlo asi:

1
2
3
4
5
6
7
8
import csv
 
lista = [1,2,3]
 
file = open("eggs.csv", "w", newline='')
spamreader = csv.writer(file)
spamreader.writerow(lista)
file.close()

Itentalo y avisanos si funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 3
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Crear un archivo csv a partir de una lista

Publicado por Gorki (1 intervención) el 25/02/2020 23:38:29
Simple, directo y eficiente.

Sólo faltó agregar que en el argumento newline='' se debe dejar así, salvo que se conozca la clave que permita que se de el salto de línea.
Si no se especifica newline='', las nuevas líneas incrustadas dentro de los campos citados no se interpretarán correctamente, y en las plataformas que usan \r\n linendings de escritura se añadirá un extra \r . Siempre debería ser seguro especificar newline='', ya que el módulo csv hace su propio manejo de newline (universal).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar