CSV in EXCEL
Verfasst: Samstag 13. März 2010, 16:25
Hallo an alle,
ich bin neu hier und muss mich seit ein paar Tagen mit Python besch�ftigen.
Inzwischen habe ich einige von euren Beitr�gen gelesen, komme aber nicht weiter.
Ich muss ein .csv Datei lesen und anschlie�end daraus ein .xls Datei erzeugen.
Ich lese die csv. Datei mit folgendem code aus:
und die ausgabe sieht so aus:
['NAME', 'FIRSTNAME', 'NICKNAME', '']
['', 'Datei_Name.pdf', ' ']
['', '', '', '']
['NAME', 'FIRSTNAME', 'NICKNAME', '']
['', 'Datei_Name_2.pdf', ' ']
.
.
.
['', 'Datei_Name_n.pdf', ' ']
[ '', '', '', 'TEST1', '', 'TEST2', '', '', '', '', '', 'TEST3', '', '', '', '',]
['NAME', 'FIRSTNAME', 'NICKNAME', 'Zeit', 'Neue_Zeit', 'Geschwindigkeit', 'WEG', 'GPS', 'Zeit2', 'X_Koor', 'Y_Koor', 'Z_Koor', ]
['', 'Datei_Name_n+1.pdf', '156', '44,676', '5', '-0,8', '6,999', '0,90', '']
['', 'Datei_Name_n+2.pdf', '675', '3,67', '22', '-0,56', '0,0', '9,34', '']
['', '', '', '']
['', '', '', 'TEST1', '', 'TEST2', '', 'TEST3... sind die Kategorien
TEST1 ist eine kategorie und darunter kommen z.B. 'NAME', 'FIRSTNAME', 'NICKNAME' rein
TEST2 ist eine NEUE Kategorie und darunter kommen z.B. 'Zeit', 'Neue_Zeit', 'Geschwindigkeit', 'WEG'
usw. und dann zu jeder unterkategorie kommt ein Wert wie z.B. ['', 'Datei_Name_n+1.pdf', '156', '44,676', '5', '-0,8...
Die Excel-Python.pdf habe ich schon durchgemacht, finde aber auch nicht wirklich weiter....
Mein Code sieht so aus, funktioniert aber nicht wirklich. Es w�re mir auch sehr Wichtig das es alles Dynamisch Funktioniert, d.h. falls neue Werte noch dazu kommen, ausgelesen werden und in Excel gespeichert werden.
Ich habe noch ein anderen Code geschrieben, wo ich aber die Kategorie Namen Manuel eingebe und die Zellen zusammenfasse. Ebenso habe ich auch f�r die Unterkategorien gemacht, finde es aber nicht so besonders professionell und sch�n. Ich hoffe Ihr k�nnt mir helfen...
Ich bedanke mich an eure Hilfe in voraus!!!
ich bin neu hier und muss mich seit ein paar Tagen mit Python besch�ftigen.
Inzwischen habe ich einige von euren Beitr�gen gelesen, komme aber nicht weiter.
Ich muss ein .csv Datei lesen und anschlie�end daraus ein .xls Datei erzeugen.
Ich lese die csv. Datei mit folgendem code aus:
Code: Alles auswählen
import csv
reder = csv.reader(open("Test_OR.xls","rb"), delimiter='\t')
for row in reder:
print row
['NAME', 'FIRSTNAME', 'NICKNAME', '']
['', 'Datei_Name.pdf', ' ']
['', '', '', '']
['NAME', 'FIRSTNAME', 'NICKNAME', '']
['', 'Datei_Name_2.pdf', ' ']
.
.
.
['', 'Datei_Name_n.pdf', ' ']
[ '', '', '', 'TEST1', '', 'TEST2', '', '', '', '', '', 'TEST3', '', '', '', '',]
['NAME', 'FIRSTNAME', 'NICKNAME', 'Zeit', 'Neue_Zeit', 'Geschwindigkeit', 'WEG', 'GPS', 'Zeit2', 'X_Koor', 'Y_Koor', 'Z_Koor', ]
['', 'Datei_Name_n+1.pdf', '156', '44,676', '5', '-0,8', '6,999', '0,90', '']
['', 'Datei_Name_n+2.pdf', '675', '3,67', '22', '-0,56', '0,0', '9,34', '']
['', '', '', '']
['', '', '', 'TEST1', '', 'TEST2', '', 'TEST3... sind die Kategorien
TEST1 ist eine kategorie und darunter kommen z.B. 'NAME', 'FIRSTNAME', 'NICKNAME' rein
TEST2 ist eine NEUE Kategorie und darunter kommen z.B. 'Zeit', 'Neue_Zeit', 'Geschwindigkeit', 'WEG'
usw. und dann zu jeder unterkategorie kommt ein Wert wie z.B. ['', 'Datei_Name_n+1.pdf', '156', '44,676', '5', '-0,8...
Die Excel-Python.pdf habe ich schon durchgemacht, finde aber auch nicht wirklich weiter....
Mein Code sieht so aus, funktioniert aber nicht wirklich. Es w�re mir auch sehr Wichtig das es alles Dynamisch Funktioniert, d.h. falls neue Werte noch dazu kommen, ausgelesen werden und in Excel gespeichert werden.
Code: Alles auswählen
import csv
import sys
from os import *
# Datei �ffnen und einen csv-reader initialisieren
source = file("test.xls", "rb")
reader = csv.DictReader(source, delimiter='\t')
# csv-writer initialisieren und die Kopfzeile schreiben
targetHandle = file("test_output.xls", "wb")
writer = csv.DictWriter(target,["NAME", "FIRSTNAME", "NICKNAME"], delimiter='\t')
writer.writecol({"NAME" : "NAME", "FIRSTNAME" : "FIRSTNAME", "NICKNAME" : "NICKNAME"})
for col in reader:
# Zugriff auf die Felder der jeweiligen Zeilen
name = col['NAME']
firstname = col['FIRSTNAME']
nickname = col['NICKNAME']
# Tausche Namen und Vornamen und entferne Leerzeichen
data = {
'NAME': firstname.replace(' ', ''),
'FIRSTNAME': name.replace(' ', ''),
'NICKNAME': nickname.replace(' ', '')
}
writer.writerow(data)
# Aufr�umen
source.close()
target.close()
exit()
Ich bedanke mich an eure Hilfe in voraus!!!