Ordenar por columna en un archivo CSV y escribir en un nuevo archivo CSV en Python
Mi código:
import csv
import operator
primer_archivo_csv = open('/Users/jawadmrahman/Downloads/account-cleanup-3 array/example.csv', 'r+')
csv_ordenado = csv.reader(primer_archivo_csv, delimiter=',')
sort = sorted(csv_ordenado, key=operator.itemgetter(0))
archivo_csv_ordenado = open('new_sorted2.csv', 'w+', newline='')
escribir = csv.writer(archivo_csv_ordenado)
for cada_linea in sort:
print(cada_linea)
escribir.writerows(cada_linea)
Tengo un ejemplo de archivo csv:
Quiero ordenarlo por la primera columna y obtener los resultados de esta manera:
1,9
2,17,
3,4
7,10
Con el código publicado anteriormente, esto es lo que estoy obteniendo ahora:
¿Cómo puedo solucionarlo?
davy.ai
En lugar de usar
write.writerows(eachline)
en el bucle for, usawrite.writerow(eachline)
.El método
writerows()
escribe una secuencia de filas, donde cada fila es una lista de valores. En tu código,eachline
es una lista de valores que representa una fila, por lo que deberías usar el métodowriterow()
en su lugar.Aquí está el código corregido:
Esto debería darte el resultado deseado.