Quindi voglio convertire un semplice file di testo delimitato da tabulazioni in un file csv. Se converto il file txt in una stringa usando string.split ('\ n') ottengo una lista con ogni elemento della lista come una stringa con '\ t' tra ogni colonna. Stavo pensando che potrei semplicemente sostituire '\ t' con una virgola ma non tratterò la stringa all'interno della lista come stringa e mi permetterò di usare string.replace. Ecco l'inizio del mio codice che ha ancora bisogno di un modo per analizzare la scheda "\ t".Converti file txt delimitato da tabulazioni in un file csv usando Python
import csv
import sys
txt_file = r"mytxt.txt"
csv_file = r"mycsv.csv"
in_txt = open(txt_file, "r")
out_csv = csv.writer(open(csv_file, 'wb'))
file_string = in_txt.read()
file_list = file_string.split('\n')
for row in ec_file_list:
out_csv.writerow(row)
-1 Si sono Presumendo che il PO è in Python 2.x; in quel caso il file di input dovrebbe essere aperto con la modalità 'rb'. Inoltre, non garantire che almeno il file di output sia chiuso, preferibilmente entrambi i file. –
bici da slitta. Entrambi i file vengono chiusi non appena termina lo script. Che è .. immediatamente. +1. – ch3ka
@JohnMachin Non ho presunto nulla. Ho cambiato il meno possibile per mostrare come convertire un file. 'with' non è necessario se il programma sta per terminare immediatamente - il file verrà chiuso. Ho aggiunto un commento per indicare che occorre prestare attenzione se si tratta di un programma a esecuzione prolungata. – agf