*argh* .csv/.txt-Export aus Numbers/Excel!

WirbelFCM

WirbelFCM

Aktives Mitglied
Thread Starter
Dabei seit
24.01.2008
Beiträge
7.337
Reaktionspunkte
819
Guten Morgen!

Hier wird mal wieder ein "kleines" Problem zum abendfüllenden Programm!

Ich habe eine .csv-Datei und möchte eine einzelne Spalte aus dieser in eine Textdatei exportieren, so daß alle (untereinanderstehenden) Zellen nacheinanderweg und komma-getrennt in eine Textdatei geschrieben werden.
Für eine Software sollte das eigentlich eine Sache von nicth mal einer Minute sein, inzwischen experimentiere ich aber schon seit fast einer halben Stunde herum und ob dieses Threads wird mindestens eine Stunde daraus werden!

Ich hasse es, wenn Computer mehr Zeit brauchen, als wenn ich eine Arbeit "per Hand" erledige!!! :mad:

BWG Wirbel
 
Im Titel sprichst du von Numbers bzw. Excel. Darf es denn auch andere Software sein oder muss es unbedingt Numbers oder Excel sein? Ich persönlich benutze nämlich beide Programme nicht, kann mir aber durchaus vorstellen, dass das nicht bzw. nicht sehr einfach in einem der genannten Programme umzusetzen ist. Eventuell gibt es ja in der Hilfe einen passenden Hinweis?

In Mathematica wäre dein Problem beispielsweise mit einem Einzeiler gelöst.
 
… Ich habe eine .csv-Datei und möchte eine einzelne Spalte aus dieser in eine Textdatei exportieren, so daß alle (untereinanderstehenden) Zellen nacheinanderweg und komma-getrennt in eine Textdatei geschrieben werden …
Excel? Welche Version? Falls v2008 oder v2011[SUP]1[/SUP]:

1. Spalte markieren.
2. Kopieren.
3. Neue Mappe.
4. Zelle A1 aktivieren (dürfte eh schon so sein).
5. Bearbeiten > Inhalte einfügen… > 'Einfügen: Werte' und 'Transponieren'.
6. Die Mappe als .csv speichern.

________________
[SUP]1[/SUP] Du schreibst nicht, um wieviele Werte es in der Spalte geht. Excel2004 kennt im Gegensatz zu v2008 oder v2011 nur 256 Spalten, dort kann’s beim Transponieren schon mal eng werden. Excel2008 bzw. Excel2011 kennen hingegen 16K Spalten.
 
Zuletzt bearbeitet:
Excel 2011 bzw. Numbers 09

Ich habe mit dem Google Keyword-Tool eine Suchwort-Analyse erstellt und diese als .csv exportiert. Nun würde ich die diversen Keyword-Empfehlungen gerne so formatieren, daß ich sie einfach kommagetrennt in meine HP als META-Keywords einfügen kann.

Die Anleitung funktioniert so bei mir irgendwie nicht, da stürzt Excel immer ab :-/ @ fa66
 
Nochmal, muss es unbedingt Excel oder Numbers sein? Du kannst das beispielsweise auch mit Python erledigen (ist bereits installiert, allerdings musst du da ein bisschen im Terminal arbeiten).

Hier ein kleines Python-Skript, das du beispielsweise als "script.py" abspeicherst (eine reine Textdatei anlegen mit dem folgenden Inhalt):

Code:
import csv


file = csv.reader(open("File.csv","rb"))
liste = []
spalte = 2

for row in file:
	liste.append(row[spalte-1])

ausgabe = csv.writer(open("Ausgabe.csv","w"), delimiter=',',quoting=csv.QUOTE_ALL)
ausgabe.writerow(liste)

Du musst das Skript jetzt nur an drei Stellen anpassen. Bei "file = ..." musst du "File.csv durch den Namen der CSV-Datei (mit Endung) ersetzen, die du einlesen willst. Bei "spalte = 2" musste du die 2 durch die Spaltennummer ersetzen, die du am Ende haben möchtest. Und bei "ausgabe = ..." musst du "Ausgabe.csv" durch den Namen der CSV-Datei (mit Endung) ersetzen, in die du dein Ergebnis speichern möchtest (die Datei wird angelegt, wenn noch nicht vorhanden, bereits vorhande Dateien werden ohne Rückfrage überschrieben, also Vorsicht!).

Das Skript und die Datei "File.csv" muss im gleichen Ordner liegen. Danach öffnest du ein Terminal, wechselst mit "cd" in eben fieses Verzeichnis und führst dort den Befehl "python script.py" aus (wenn du das Skript script.py genannt hast).

Test: File.csv enthält

"a","b","c","d"
"e","f","g","h"
"i","j","k","l"

Ausgabe.csv enthält (Skript, so wie oben, d.h. mit "spalte=2"):

"b","f","j"
 
Nöö, wie ich das letztendlich anstelle, ist mir egal :p
Damit werde ich mich beizeiten mal auseinandersetzen, vielen Dank erstmal!

Aber eine Frage bliebe noch: ich hätte das Ergebnisse natürlich gerne ohne Gänsefüßchen. Also: b,f,j
Wobei eine simple .txt-Datei dafür vll. am sinnvollsten wäre?!?
Was ändere ich dafür am Code?
 
Nichts leichter als das:

Code:
import csv


file = csv.reader(open("File.csv","rb"))
liste = []
spalte = 2

for row in file:
	liste.append(row[spalte-1])

ausgabe = csv.writer(open("Ausgabe.csv","w"), delimiter=',',quoting=csv.QUOTE_NONE)
ausgabe.writerow(liste)

Eine CSV-Datei ist ja nichts anderes als eine TXT-Datei.
 
Zurück
Oben Unten