rachel: CSV-Datei: Trennzeichen ändern / maskieren

Hey Forum,

ich gebe ein Liste von Daten im CSV-Format aus, als Trennzeichen setze ich momentan ein Semikolon ein. Mit den richtigen Header-Einstellungen öffnet sich der Output brav direkt in Excel und alle Werte landen in den richtigen Feldern.

Gerne würde ich statt des Semikolon ein anderes Trennzeichen verwenden (z.B. ein Pipe-Zeichen), aber wenn ich das tue, erkennt Excel das nicht mehr beim Öffnen und klemmt die ganze Zeile in die erste Zelle. Ich nehme an, dass man irgendwo im Header den Delimiter spezifizieren kann, aber ich finde per Google keinen Hinweis. Kennt Ihr da was?

Wenn ich schon gerade beim Fragen bin: Wie geht man damit am besten um, wenn in einem Feldwert selbst das Zeichen vorkommt, das eigentlich Trennzeichen ist? In einem Textfeld könnte ja ein Semikolon vorkommen ... und Maskieren mit Backslash geht nicht, das habe ich schon probiert.

Danke!

Rachel

  1. Gerne würde ich statt des Semikolon ein anderes Trennzeichen verwenden (z.B. ein Pipe-Zeichen), aber wenn ich das tue, erkennt Excel das nicht mehr beim Öffnen und klemmt die ganze Zeile in die erste Zelle.

    Dazu musst du die Import-Funktion nutzen - oder bei neueren Versionen (ab 2007) im Ribbon "Daten -> Text in Spalten".

    Ich nehme an, dass man irgendwo im Header den Delimiter spezifizieren kann [...]

    Nein, kann man afaik nicht.

    Wenn ich schon gerade beim Fragen bin: Wie geht man damit am besten um, wenn in einem Feldwert selbst das Zeichen vorkommt, das eigentlich Trennzeichen ist? In einem Textfeld könnte ja ein Semikolon vorkommen ... und Maskieren mit Backslash geht nicht, das habe ich schon probiert.

    http://tools.ietf.org/html/rfc4180

    1. Hej suit,

      vielen Dank! OK, dann lasse ich das mit dem anderen Delimiter, die Datei soll in Excel ohne großen Erklärungsbedarf aufgehen.

      Stößt Du mich bitte noch mit der Nase auf die Zeile in Deinem Link, in der die Antwort auf den zweiten Teil meiner Frage (Semikolon im Feldwert) zu finden ist? Ich bin anscheinend zu bl...ind dafür :-)

      Ciao,

      Rachel

      1. Stößt Du mich bitte noch mit der Nase auf die Zeile in Deinem Link, in der die Antwort auf den zweiten Teil meiner Frage (Semikolon im Feldwert) zu finden ist? Ich bin anscheinend zu bl...ind dafür :-)

        Abschnitt 2.5 - beachte hierzu aber auch das Datum, an dem das RFC-Dokument erstellt wurde.

  2. Hello,

    ich gebe ein Liste von Daten im CSV-Format aus, als Trennzeichen setze ich momentan ein Semikolon ein. Mit den richtigen Header-Einstellungen öffnet sich der Output brav direkt in Excel und alle Werte landen in den richtigen Feldern.

    Erstmal ist das leider abhängig von Spracheisntellungen. Ich kannnicht Bestimmtheit sagen, dass es bei jeder Excel-Version da Schwierigkeiten gibt, aber ich habe sie schon oft gehabt.

    Wenn Du dann nämlich direkt in Excel eine "Webabfrage" startest, funktioniert plötzlich nur noch das tabulatorzeichen als Trenner vernünftig in den (von mir untersuchten) Sprachversionen von Excel. Ich meine damit, dass die Webabfrage von Excel auf einem System in der Ukraine, in Deutschland, in Great-Britain, in USA, in Italien und in Frankreich durchgeführt wurde. Die chinesische Kollegin durfte leider keine direkte Webabfrage durchführen mit ihrem Excel. Sie musste erst normal die Datei downloaden per HTTP und Browser. Dann hat es aber auch mit den Tabs funktioniert.

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Hallo,

    ich gebe ein Liste von Daten im CSV-Format aus, als Trennzeichen setze ich momentan ein Semikolon ein. Mit den richtigen Header-Einstellungen öffnet sich der Output brav direkt in Excel und alle Werte landen in den richtigen Feldern.
    Gerne würde ich statt des Semikolon ein anderes Trennzeichen verwenden (z.B. ein Pipe-Zeichen), aber wenn ich das tue, erkennt Excel das nicht mehr beim Öffnen und klemmt die ganze Zeile in die erste Zelle.

    kenn' ich, das hat in früheren Excel-Versionen (z.B. Excel 97) mal besser funktioniert. Da konnte man auch noch komma-getrennte CSV-Dateien direkt öffnen, gemäß der ursprünglichen Bedeutung der Abkürzung Comma Separated Values. Irgendwann hat MS da etwas verschlimmbessert.

    Ich nehme an, dass man irgendwo im Header den Delimiter spezifizieren kann, aber ich finde per Google keinen Hinweis. Kennt Ihr da was?

    Nein, gibt es AFAIK nicht.

    Wenn ich schon gerade beim Fragen bin: Wie geht man damit am besten um, wenn in einem Feldwert selbst das Zeichen vorkommt, das eigentlich Trennzeichen ist?

    In dem Fall muss der Feldwert in Anführungszeichen stehen. Das Anführungszeichen selbst wird, falls es im Nutztext auch auftreten sollte, durch Verdopplung maskiert:

    14; 0; 2.88; Text1; "Text mit Semikolon; und ""Anführungszeichen"; 0

    So long,
     Martin

    --
    F: Was ist schneller: Das Licht oder der Schall?
    A: Offensichtlich der Schall. Wenn man den Fernseher einschaltet, kommt immer erst der Ton, und dann erst das Bild.
    1. Hey Martin (& alle),

      Danke, dann geht es also nicht ohne Anführungszeichen (die man dann wiederum escapen muss). Na, wenns sein muss ... :-)

      Ciao,

      Rachel

      1. Hallo Rachel,

        Danke, dann geht es also nicht ohne Anführungszeichen

        nein, höchstens in Ausnahmefällen, etwa wenn die Strings, die auftreten könnten, genau bekannt sind.

        Ich habe mir übrigens angewöhnt, Stringwerte *immer* in Anführungszeichen zu setzen. Ich mag es nämlich nicht, nach der Devise "kann man, muss man aber nicht" zu arbeiten. ;-)
        Aus dem gleichen Grund plädiere ich auch dafür, z.B. in HTML Attributwerte *immer* in Anführungszeichen zu setzen, und nicht nur, wenn es unbedingt erforderlich ist.

        Ciao,
         Martin

        --
        Die letzten Worte des Polizisten:
        Ich hab mitgezählt, Leute: Sechs Schuss, jetzt hat er keine Munition mehr!
        1. Guter Tipp, mache ich bei den HTML-Attributen genauso. :-)