Discussion:
Anführungszeichen in CSV Datei
(zu alt für eine Antwort)
Edi Bauer
2005-08-17 15:51:53 UTC
Permalink
Hallo NG,

Ein Bekannter berichtet, dass bei einer Datei die er CSV-Format gespreichert
hat die Datenfelden in "Gänsefüßchen" gesetzt sind. Ich kann das nicht
nachvollziehen, bei mir werden diese Anführungszeichen nicht erzeugt.
Wodurch weden diese Anführungszeichen erzeugt?

vielen Dank für einen Hinweis

Edi Bauer
Eric March
2005-08-18 10:17:02 UTC
Permalink
Am Wed, 17 Aug 2005 17:51:53 +0200 schrieb Edi Bauer
Post by Edi Bauer
Hallo NG,
Ein Bekannter berichtet, dass bei einer Datei die er CSV-Format gespreichert
hat die Datenfelden in "Gänsefüßchen" gesetzt sind. Ich kann das nicht
nachvollziehen, bei mir werden diese Anführungszeichen nicht erzeugt.
Wodurch weden diese Anführungszeichen erzeugt?
Durch das oder den der Strings (und darum sollte es wohl gehen, bei Zahlen
wäre es leicht Banane) in CVS-Dateien tatsächlich mit dem Trenner
(Delimiter) " abspeichert:
Fuchs,du,hast,die,Gans,gestohlen
"Fuchs","du","hast","die","Gans","gestohlen"
Das ist alles Sache von Einstellungen - sofern man diese vornehmen kann
und nicht automatisch die Anführungszeichen aufgedrückt bekommt bzw. sie
nie bekommt.

CSV ist recht "vielseitig". Jedes Programm das so seine Daten ablegt ist
frei zu entscheiden ob es solche (zusätzlichen) Delimiter verwendet bzw.
damit Datentypen kapselt. Ein Einlesemodul kann dann sehr wohl zwischen
dem Anführungszeichen als Kapsel und als echtem Textbestandteil
differenzieren. Früher war das Usus um Steuerzeichen (selbst TAB der statt
dem Komma in CSV zum Haupttrennsybol werden kann) davon abzuhalten was zu
steuern wo sie das nicht sollten.
--
Eric March

»Schreibe kurz - und sie werden es lesen. Schreibe klar und sie werden es
verstehen. Schreibe bildhaft - und sie werden es im Gedächtnis behalten.«
Joseph Pulitzer
Edi Bauer
2005-08-18 16:17:44 UTC
Permalink
Hallo Marc

Das was Du schreibst ist klar aber leider überflüssig.

Meine Frage war warum mach Excel bei den selben Daten auf dem einen PC
Anführungszeichen bein dem Anderen keine. Weißt Du eine Einstellung wo man
das festlegen kann?

Viele Grüße

Edi
Post by Eric March
Am Wed, 17 Aug 2005 17:51:53 +0200 schrieb Edi Bauer
Thomas Ramel
2005-08-18 19:41:19 UTC
Permalink
Grüezi Edi

Edi Bauer schrieb am 18.08.2005
Post by Edi Bauer
Meine Frage war warum mach Excel bei den selben Daten auf dem einen PC
Anführungszeichen bein dem Anderen keine. Weißt Du eine Einstellung wo man
das festlegen kann?
Welche Unterschiede gibt es in euren Systemen?

BS, Excel-Version, Ländereinstellungen

Gerade letzteres könnte durchaus für die Unerschiede verantwortlich sein.

BTW: Wie genau werden die CSV-Dateien gespeichert; per Makro oder über
Speichern unter?



| [Fullquote von 40tude-Dialog[1] entsorgt]



Mit freundlichen Grüssen
Thomas Ramel


Fussnote(n):
------------
[1] Programm: http://www.40tude.com/dialog/
Anleitung: http://www.gaehn.org/software/40tude-dialog/tutorial/
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Edi Bauer
2005-08-19 08:10:36 UTC
Permalink
Hallo Thomas,

eigentlich hat sich die Anfrage erledigt, da ich gerade Nachricht erhalten
habe, das alles richtig funtioniert. Das mit den Anführungszeichen ist kein
Problem mehr.

Vielen Dank für Deine antwort


Ich habe aber etwas festgestellt, wofür ich keine Erklärung habe:

Ausgangssituation ist eine vorhandene CSV-Datei, die mit Excel geöffnet
wird.
Darin wird per VBA jede zweite Zeile gelöscht.

Speicher ich mit "ActiveWorkbook.Save" und schaue mir die Datein mit dem
Editor an, sind die Daten mit >Kommas< getrennt.
Schließe ich die Datei und bestätige ich, dass gespeichert werden soll, dann
wird die Datei richtig mit >Semikola< getrennt.

Wie wäre der richtige Befehl zum Speichern?

Ich verwende Windows 2000 mit Excel 2002 und Windows XP Excel 2003

Viele Grüße

Edi
Thomas Ramel
2005-08-19 10:50:10 UTC
Permalink
Grüezi Edi

Edi Bauer schrieb am 19.08.2005
Post by Edi Bauer
eigentlich hat sich die Anfrage erledigt, da ich gerade Nachricht erhalten
habe, das alles richtig funtioniert. Das mit den Anführungszeichen ist kein
Problem mehr.
Aha; das ist schön :-)

Darf ich (aus rein akademischen Gründen) wissen, wie sich das Problem
gelöst hat?
Post by Edi Bauer
Ausgangssituation ist eine vorhandene CSV-Datei, die mit Excel geöffnet
wird.
Darin wird per VBA jede zweite Zeile gelöscht.
Speicher ich mit "ActiveWorkbook.Save" und schaue mir die Datein mit dem
Editor an, sind die Daten mit >Kommas< getrennt.
Schließe ich die Datei und bestätige ich, dass gespeichert werden soll, dann
wird die Datei richtig mit >Semikola< getrennt.
Wie wäre der richtige Befehl zum Speichern?
'Richtig' ist beides.
CSV ist kein 'geschütztes' sprich klar definiertes Dateiformat, sondern ein
Überbegriff für zeichengetrennte Text-Dateien:

http://de.wikipedia.org/wiki/CSV-Datei

Je nach Ländereinstellungen ist das Trennzeichen per default ein Komma oder
ein Semikolon.

Mit normalem Speichern wird das in der Ländereinstellung festgelegte
Zeichen verwendet.
VBA 'spricht' dann halt Ami-Sparache und verwendet das dort gebräuchliche
Komma.

Wenn Du gezielt und immer gleich ausschreiben willst, dann machst Du dies
am ehesten wohl mit einer entsprechenden VBA-Prozedur, die Du dann ganz an
deine Bedürfnisse anpassen kannst.



Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)
Edi Bauer
2005-08-19 12:56:26 UTC
Permalink
Hallo Thomas
Post by Thomas Ramel
Aha; das ist schön :-)
Darf ich (aus rein akademischen Gründen) wissen, wie sich das Problem
gelöst hat?
Das muß ich selbst erst noch erfragen. Wenn ich es weiß, veröffenliche es
hier.

Viele Grüße

Edi

www.edibauer.de
Edi Bauer
2005-08-21 19:41:08 UTC
Permalink
Hallo Thomas,

Der Anwender hat nach seiner Aussage nichts gemacht, also ist unklar warum
es vorher nicht und jetzt doch geht :-(
Unbefriedigend, aber ich kann nicht mehr herausbekommen.

Vielen Dank Edi

Loading...