CSV-Editor

Shopping

Legendäres Mitglied
Kennt jemand von Euch einen guten CSV-Editor, der es erlaubt
- den Delimiter zu aendern (z.B. von Komma zu Pipe)
- zusaetzliche Spalten einzufuegen
- bestehende Spalten zu verschieben
- bestehende Spalten zu duplizieren bzw. zu kopieren

Ich danke im voraus fuer jeden Tipp.

Gruss, Ivo
 
QUOTE (Ivo Gasser @ Mi 5.10.2005, 21:44)Kennt jemand von Euch einen guten CSV-Editor, der es erlaubt
[...]

Ähm, müssten nicht eigentlich MS Excel oder OpenOffice Calc genau dies bieten?

CSV-Datei importieren, bearbeiten und wieder als CSV mit gewünschten Trennzeichen speichern. Ich würde zumindestens so vorgehen.



MfG Sascha Ahlers
 
Mit MS Excel geht das leider nicht.

Mit OpenOffice Calc habe ich es noch nicht versucht. Weiss jemand, ob dies mit OpenOffice Calc tatsaechlich geht?
 
QUOTE (Ivo Gasser @ Mi 5.10.2005, 22:16)[...] Mit OpenOffice Calc habe ich es noch nicht versucht. Weiss jemand, ob dies mit OpenOffice Calc tatsaechlich geht?

Nun, ich weiß nur, dass man es damit öffnen und wieder speichern kann. Ansonsten schick mir doch mal eine Test-Datei. Ich mein aber, dass es mit MS Excel auch klappen müsste, zumindestens ab der 2000er Version, denn dort habe ich die Optionen importieren von CSV und expotieren nach CSV schon gesehen.

<edit>
Nun ja, ich habe mir gerade eine eigene CSV-Datei erstellt und habe Probleme die in OpenOffice Calc zu importieren, erkenne tut er wohl alles, nur kann ich nachher nicht auf OK drücken :-(
Ich benutze jedoch OpenOffice 1.1.3.
</edit>


MfG Sascha Ahlers
 
In Neo Office (der improved Open Office Version) für Mac kann man CSV Daten reinladen. Habe ich schon oft gemacht. Bearbeiten wird dann natürlich auch gehen. Beim Abspeichern kann man den Filtereinstellungen/Feldoptionen (Zeichensatz, Feldtrenner und Textrenner) bearbeiten. Wird so wohl auch bei der Win Version gehen.
 
QUOTE (Rainer @ Mi 5.10.2005, 22:38) In Neo Office (der improved Open Office Version) für Mac kann man CSV Daten reinladen. [...]

Ich habe auch gerade die Lösung im OpenOffice Forum gefunden, man darf nicht versuchen die CSV-Datei über "Einfügen -> Externe Daten..." gehen, sondern muss es ganz einfach die Datei öffnen "Datei -> Öffnen...". Am Besten hat die Datei auch die Endung ".csv".


MfG Sascha Ahlers
 
Danke Euch beiden.

Laden kann ich die csv-Datei in Excel. Es ist mir jedoch bis jetzt nicht gelungen, die Datei nach erfolgter Bearbeitung mit dem gewuenschten Delimiter, Zeichensatz und Feldtrenner abzuspeichern. Die von Rainer angeprochenen Filtereinstellungen/Feldoptionen suche ich verzweifelt....
 
QUOTE (Ivo Gasser @ Mi 5.10.2005, 23:08) [...] Die von Rainer angeprochenen Filtereinstellungen/Feldoptionen suche ich verzweifelt....

Die von Rainer ansprochenen Funktionen beziehen sich auf OpenOffice Calc. Aber es müsste unter Excel irgendwo ein Punkt geben, der in etwa so lautet wie "exportieren nach CSV". Dabei weiß ich allerdings nicht, ob irgendwelche bestimmten Speicherungsmethoden festgelegt werden können.

Bei OpenOffice Calc auf geht dies auf jedenfall. Dort gibt es dann, wenn man die Daten wieder als CSV-Datei speichert "Datei -> Speichern unter..." im Datei-Dialogfenster die Option "Filtereinstellungen bearbeiten". Dort können dann der Zeichensatz, Feldtrenner und der Texttrenner festgelegt werden.
Vielleicht gibt es unter Excel ja etwas ähnliches.



MfG Sascha Ahlers
 
in excel gibt es bei "speichern unter.." 3 varianten von csv. leider sind die nicht gleich hintereinander ersichtlich.

es gibt

csv (trennzeichen getrennt)
csv (macintosh)
csv (ms-dos)

ist da keines dabei das du brauchen kannst?
frag mich nicht nach den unterschieden.

gruss
urs
 
@Urs
Leider sind diese 3 Excel CSV-Varianten für meine Bedürfnisse unbrauchbar. Bei meiner Suche nach einer Lösung habe ich inzwischen herausgefunden, dass man den Delimiter bei Excel ändern kann indem man die generellen, regionalen Einstellungen von Windows ändert. Das ist ja wieder mal superschlau gelöst!

@Sascha, Rainer
Ich habe mir in der Zwischenzeit OpenOffice runtergeladen, installiert und die CSV-Filtermöglichkeiten entdeckt. Ich werde heute abend mal schauen, ob es klappt und werde an dieser Stelle berichten.

Nochmals ganz herzlichen Dank an Euch.

PS: OpenOffice sieht gar nicht schlecht aus


 
Ciao Ivo,

Ich habe das Gefühl, dass das weder in MS-Excel noch im Calc von OpenOffice klappt. (Aber ich würde mich freuen, mich zu irren).
Wenn du unter Windows arbeitest weiss ich auch nicht weiter. Aber wenn du unter Linux oder UNIX arbeitest, kannst du die CSV mit "sed" bearbeiten.

Um ein Zeichen durch ein anderes global zu ersetzen, kannst du folgendes machen:
Die (der? das?) Syntax ist: cat "dein File" | sed s/'altes Zeichen'/'neues Zeichen'/s

Von Komma zu Pipe wäre das: cat "dein File" | sed s/','/'|'/s

Lass die "" weg aber die ' musst du setzen.

Weitere Hilfe unter "man sed" und unter "man regexp". Oder nett gesagt: RTFM

Mit besten Grüssen
Boubou7
 
csv-dateien in .txt umbenennen, dann in excel als text-file importieren, das komma als trennzeichen benutzen, fertig.

save as ... csv funktioniert ordungsgemäss.
 
QUOTE (Ivo Gasser @ Do 6.10.2005, 12:17)[...] Ich habe mir in der Zwischenzeit OpenOffice runtergeladen, installiert und die CSV-Filtermöglichkeiten entdeckt. [...]

Einen kleinen Fehler habe ich beim Einlesen der CSV nun doch noch entdeckt bei OpenOffice. Escape Texttrenner beenden auch schon den String. Beispiel:

CSV-Datei

CODE "00000046";"\"Newbie\"";"{crypt}*******";"active";"1";"0"



Calc Tabelle:

CODE +----------+---+----------------+--------+---+---+
| 00000046 | \ | {crypt}******* | active | 1 | 0 |
+----------+---+----------------+--------+---+---+



Erwarten würde ich dies:

CODE +----------+----------+----------------+--------+---+---+
| 00000046 | "Newbie" | {crypt}******* | active | 1 | 0 |
+----------+----------+----------------+--------+---+---+



MfG Sascha Ahlers

PS: Vielleicht ist dies in OpenOffice 2.x geändert worden, das kann ich jedoch nicht sagen.
 
Hier der versprochene Update. In OpenOffice 1.5 hat es geklappt. Der von Sascha angesprochene Fehler ist haesslich, bei mir aufgrund der Daten zum Glueck jedoch nicht aufgetreten.

@Boubou7
Danke fuer Deine Hilfe, aber mit Linux und Unix bin ich (noch) nicht bewandert.

@ph
Gewoehnlich genuegt Deine Vorgehensweise voellig. Wenn die Daten jedoch mit einem spezifischen Delimiter (z.B. Semikolon oder Pipe) getrennt werden muessen, dann bin zumindest ich bei Excel am Ende des Lateins.
 
Da wir hier gerade beim Thema CSV sind, habe ich gleich noch eine weitere Frage, die mir schon lange unter den Naegeln brennt.

Wie kann ich in einer CSV-Datei erreichen, dass ein leeres Feld (ohne Inhalt) als Textfeld erkannt wird und demzufolge folgendermassen abgespeichert wird: "leeres Textfeld folgt jetzt;"";"wie kann man dies bewerkstelligen"
 
QUOTE (Ivo Gasser @ Do 6.10.2005, 17:06)[...]Wie kann ich in einer CSV-Datei erreichen, dass ein leeres Feld (ohne Inhalt) als Textfeld erkannt wird und demzufolge folgendermassen abgespeichert wird: "leeres Textfeld folgt jetzt;"";"wie kann man dies bewerkstelligen"

Wieso spielt das eigentlich eine Rolle? Das Feld ist halt einfach leer und hat damit keinen Inhalt. IMHO spielt das Textfeld nur eine Rolle, wenn ein String gespeichtert wird, sonst sollte es eigentlichen keine Rolle spielen. Ich denke auch nicht, dass CSV für mehr als eine Art Datenaustausch gedacht ist.



MfG Sascha Ahlers
 
Grundsaetzlich hast Du recht, Sascha. Es spielt keine Rolle, ob ein leeres Feld als "" abgespeichert wird oder einfach als leeres Feld. Mein Problem ist beispielhaft folgendes:

Ein Datensatz besteht aus 10 Feldern. Normalerweise stehen in jedem der zehn Felder Daten und somit werden beim Speichern auch 10 Felder abgespeichert. In Ausnahmefaellen ist das 10. Feld aber leer, da fuer das 10. Feld keine Daten exisitieren. Wenn ich diesen Datensatz nun speichere, wird dieser Datensatz nur mit 9 Feldern, statt mit 10 Feldern gespeichert, da das 10. Feld wie gesagt leer ist. Eigentlich waere dies ja nicht weiter schlimm, doch wenn ich die Daten in die Datenbank einlesen will, verursacht das fehlende 10. Feld eine Fehlermeldung und die Daten werden nicht eingelesen.

Es muss doch irgenwie moeglich sein ein Datensatz mit einem leeren Feld am Ende so abzuspeichern, dass das leere Feld als solches erkannt wird und nicht einfach verloren geht? Ich hoffe, ich habe mich verstaendlich ausgedrueckt.
 
QUOTE (Ivo Gasser @ Do 6.10.2005, 16:53)[...]
@Boubou7
Danke fuer Deine Hilfe, aber mit Linux und Unix bin ich (noch) nicht bewandert.
[...]

Musst Du ja auch nicht, "sed" ist nur ein Kommandozeilen-Befehl. Mit Cygwin [1] lässt sich der auch recht leicht unter Windows benutzen. Schwerer wird es, wenn man X-Windows-Anwendungen über ssh öffnen möchte oder ähnliches. ;-)



QUOTE (Ivo Gasser @ Do 6.10.2005, 20:14)Feld wie gesagt leer ist. Eigentlich waere dies ja nicht weiter schlimm, doch wenn ich die Daten in die Datenbank einlesen will, verursacht das fehlende 10. Feld eine Fehlermeldung und die Daten werden nicht eingelesen.

Nun, das ist es natürlich etwas blöd. Wie wäre es mit einer Art Platzhalter, wie man es auch bei Datenbanken verwenden, wenn ein Feld komplett leer sein soll: NULL?
Welche Datenbank und welches Administrations-Tool benutzt Du denn bei Deinem Vorhaben?



MfG Sascha Ahlers

[1] www.cygwin.com
 
QUOTE (Ivo Gasser @ Do 6.10.2005, 19:14)Grundsaetzlich hast Du recht, Sascha. Es spielt keine Rolle, ob ein leeres Feld als "" abgespeichert wird oder einfach als leeres Feld. Mein Problem ist beispielhaft folgendes:

Ein Datensatz besteht aus 10 Feldern. Normalerweise stehen in jedem der zehn Felder Daten und somit werden beim Speichern auch 10 Felder abgespeichert. In Ausnahmefaellen ist das 10. Feld aber leer, da fuer das 10. Feld keine Daten exisitieren. Wenn ich diesen Datensatz nun speichere, wird dieser Datensatz nur mit 9 Feldern, statt mit 10 Feldern gespeichert, da das 10. Feld wie gesagt leer ist. Eigentlich waere dies ja nicht weiter schlimm, doch wenn ich die Daten in die Datenbank einlesen will, verursacht das fehlende 10. Feld eine Fehlermeldung und die Daten werden nicht eingelesen.

Es muss doch irgenwie moeglich sein ein Datensatz mit einem leeren Feld am Ende so abzuspeichern, dass das leere Feld als solches erkannt wird und nicht einfach verloren geht? Ich hoffe, ich habe mich verstaendlich ausgedrueckt.

Da das Problem beim einlesen liegt kann es nicht sein, dass Du dem Feld auch die Erlaubnis geben musst, "0" bzw. nichts einzugegen: Standard = NULL

Kenn mich hier eigentlich auch nicht gut aus
blink.gif


Gruss Miro
 
Zurück
Oben