Solución:
Puedes hacerlo:
import csv
# note: If you use 'b' for the mode, you will get a TypeError
# under Python3. You can just use 'w' for Python 3
data=[('smith, bob',2),('carol',3),('ted',4),('alice',5)]
with open('ur file.csv','wb') as out:
csv_out=csv.writer(out)
csv_out.writerow(['name','num'])
for row in data:
csv_out.writerow(row)
# You can also do csv_out.writerows(data) instead of the for loop
el archivo de salida tendrá:
name,num
"smith, bob",2
carol,3
ted,4
alice,5
Python, transponer una lista y escribir en un archivo CSV
import csv
lol = [(1,2,3),(4,5,6),(7,8,9)]
item_length = len(lol[0])
with open('test.csv', 'wb') as test_file:
file_writer = csv.writer(test_file)
for i in range(item_length):
file_writer.writerow([x[i] for x in lol])
producción
1,4,7
2,5,8
3,6,9
Tenga en cuenta que intentarlo en Python 3 podría dar el error como se menciona en TypeError: se requiere un objeto de tipo bytes, no ‘str’ en Python y CSV.
Considere usar with open('ur file.csv','w') as out:
para python 3.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)