Soy nuevo en scripting. Tengo una tabla (Table1.txt
) y necesito crear otra tabla que tenga las filas de Table1 dispuestas en columnas y viceversa. He encontrado soluciones a este problema para Perl y SQL, pero no para Python.¿Cómo hacer la transposición de datos de fila a columna en la tabla csv?
simplemente empecé a aprender Python hace dos días, así que esto es por lo que yo tengo:
import csv
import sys
with open(sys.argv[1], "rt") as inputfile:
readinput = csv.reader(inputfile, delimiter='\t')
with open("output.csv", 'wt') as outputfile:
writer = csv.writer(outputfile, delimiter="\t")
for row in readinput:
values = [row[0], row[1], row[2], row[3]]
writer.writerow([values])
Esto sólo reproduce las columnas como columnas. Lo que me hubiera gustado hacer ahora es escribir la última línea como writer.writecol([values])
, pero parece que no hay un comando como ese y no he encontrado otra manera de escribir filas como columnas.
http://stackoverflow.com/questions/4937491/matrix-transpose-in-python – ThePracticalOne
No existe la "escritura de columnas". Solo puedes escribir filas. Lo más simple es leer * todos * los datos del archivo de entrada, transponer las filas y columnas y luego escribir * todos * los datos transpuestos en el archivo de salida. La respuesta de spinning_plate es conceptualmente más fácil de seguir para alguien nuevo en Python, aunque no tan eficiente como podría ser. La respuesta de Ashwini es mucho más concisa y mucho más rápida, pero requiere un poco más de conocimiento específico de Python. –