Ich habe verschiedene Textdateien und ich möchte die Werte von dort in eine CSV-Datei extrahieren. Jede Datei hat folgendes FormatExtrahieren Sie Textdateien in mehrere Spalten in Python
main cost: 30
additional cost: 5
ich es geschafft, das zu tun, aber das Problem, dass ich es die Werte der einzelnen Datei in eine andere Spalten eingefügt werden soll Ich möchte auch die Anzahl von Textdateien ein Benutzer Argument sein
Das ist, was ich jetzt
numFiles = sys.argv[1]
d = [[] for x in xrange(numFiles+1)]
for i in range(numFiles):
filename = 'mytext' + str(i) + '.text'
with open(filename, 'r') as in_file:
for line in in_file:
items = line.split(' : ')
num = items[1].split('\n')
if i ==0:
d[i].append(items[0])
d[i+1].append(num[0])
grouped = itertools.izip(*d[i] * 1)
if i == 0:
grouped1 = itertools.izip(*d[i+1] * 1)
with open(outFilename, 'w') as out_file:
writer = csv.writer(out_file)
for j in range(numFiles):
for val in itertools.izip(d[j]):
writer.writerow(val)
tun Dies ist, was ich jetzt immer, alles in einer Spalte
main cost
additional cost
30
5
40
10
Und ich will es
main cost | 30 | 40
additional cost | 5 | 10
haben Sie versucht Tupeln verwenden? –
Woher kommt die letzte Spalte in der gewünschten Ausgabe? Sind in jeder Eingabedatei nur zwei Zeilen enthalten? – wwii
ich die Eingabedatei unter der Annahme, sieht etwa so aus: Hauptkosten: 30 zusätzliche Kosten: 5 Hauptkosten: 40 zusätzliche Kosten: 10 – Michael