Sono nuovo nello scripting. Ho una tabella (Table1.txt
) e ho bisogno di creare un'altra tabella che abbia le righe di Table1 disposte in colonne e viceversa. Ho trovato soluzioni a questo problema per Perl e SQL ma non per Python.Come eseguire la trasposizione da riga a colonna dei dati nella tabella csv?
ho appena iniziato l'apprendimento Python due giorni fa, quindi questo è quanto ho ottenuto:
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])
Questo riproduce solo le colonne come colonne. Quello che mi sarebbe piaciuto fare ora è scrivere l'ultima riga come writer.writecol([values])
ma sembra che non ci sia alcun comando del genere e non ho trovato un altro modo di scrivere righe come colonne.
http://stackoverflow.com/questions/4937491/matrix-transpose-in-python – ThePracticalOne
Non esiste una cosa come "scrivere colonne". Puoi solo scrivere righe. La cosa più semplice da fare è leggere * tutti * i dati dal file di input, trasporre le righe e le colonne, quindi scrivere * tutti * i dati trasposti nel file di output. la risposta di spinning_plate è concettualmente più facile da seguire per qualcuno di nuovo in Python, anche se non è così efficiente come potrebbe essere. La risposta di Ashwini è molto più concisa e molto più veloce, ma richiede un po 'più di conoscenza specifica di Python. –