Seite 1 von 1
csv datei spalte anhängen
Verfasst: Donnerstag 21. Februar 2008, 13:48
von andeif
Hallo,
ich habe ein csv date
x,y,z
1,2,3
3,4,5
und möchte nun die z Spalte kopieren und anhängen
x,y,z,z
1,2,3,3
3,4,5,5
Hab aber leider keine Ahung wie ich das anstellen soll.
Hier mein bisheriger Code der mir die letzte Spalte ausgibt.
Wie hänge ich diese nun an die csv date an
.....
reader_csv = csv.reader(open(input, 'rb'))
for row in reader_csv:
print row[2]
.......
Kann mir da jemand weiterhelfen??
Danke
Verfasst: Donnerstag 21. Februar 2008, 14:54
von Hyperion
Hm ... also ich würde es so versuchen:
Code: Alles auswählen
tmp=[]
for row in reader_csv:
tmp.append(row[2])
neu = zip(reader_csv, tmp)
Das Durchgehen ist irgendwie unschön ... evtl. kann man das optimieren. Aber so sollte es zumindest funzen
Verfasst: Donnerstag 21. Februar 2008, 15:09
von The Spirit
mal richtig umstänglich aber es läuft und berücksichtigt auch das \n nach dem letzten zeichen in jeder zeil
Code: Alles auswählen
file = open('test.csv', 'r')
ziel = open('test_neu.csv', 'w')
for line in file:
line_split = line.split(',')
line_split.append(str(line_split[2].split('\n')[0]))
line_split[2] = line_split[3]
a = 0
while a < len(line_split):
ziel.write(line_split[a] + ',')
a += 1
ziel.write('\n')
ziel.close()
file.close()
Verfasst: Donnerstag 21. Februar 2008, 15:18
von gerold
The Spirit hat geschrieben:Code: Alles auswählen
file = open('test.csv', 'r')
...
line_split = line.split(',')
Hallo Spirit!
Zuerst überschreibst du ``file`` und dann willst du dem OP auch noch ``split`` anbieten?
Split berücksichtigt absolut keine Sonderfälle. Es kommt nicht mal mit einem Beistrich in den Daten klar. Das csv-Modul ist auf jeden Fall die bessere Wahl.
mfg
Gerold
PS: In etwa so:
Code: Alles auswählen
import csv
inputfile = file("input.csv", "rb")
outputfile = file("output.csv", "wb")
csv_out = csv.writer(outputfile)
for row in csv.reader(inputfile):
if row:
row.append(row[-1])
csv_out.writerow(row)
outputfile.close()
inputfile.close()
Verfasst: Donnerstag 21. Februar 2008, 16:49
von The Spirit
offtopic:
danke gerold, wieder was dazugelerent. werde mal sehen, ob ich das csv modul demnächst mal wo gleich einsetzten kann