Ergebnis 1 bis 4 von 4

Thema: CSV-Datei import

  1. #1
    Kaptain Iglo ist offline Neuer Benutzer
    Registriert seit
    24.01.2011
    Beiträge
    11

    Standard CSV-Datei import

    Ich habe eine CSV-Datei die vermutlich nicht ganz konform ist.

    Die Datei soll in postgres per copy importiert werden.

    Die Daten sehen so aus:
    name;vorname;straße
    name2;vorname;straße2

    Jede Zeile endet quasi mit keinem semilikon.

    Gibt es eine Möglichkeit das ich die Datei trotzdem importiert bekomme?

    Das zweite Problem wäre das die Datei in Latin1 ist und die DB in UTF8.
    Eine Lösung ist die Umwanldung mit iconv. Aber kann man irgendwie psql sagen das die Datei in
    einer anderen Codierung erfolgt?

    Viele Grüße
    hp

  2. #2
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von Kaptain Iglo Beitrag anzeigen
    Ich habe eine CSV-Datei die vermutlich nicht ganz konform ist.

    Die Datei soll in postgres per copy importiert werden.

    Die Daten sehen so aus:
    name;vorname;straße
    name2;vorname;straße2

    Jede Zeile endet quasi mit keinem semilikon.

    Gibt es eine Möglichkeit das ich die Datei trotzdem importiert bekomme?
    Ja, das geht problemlos. Was hast Du probiert, was ist passiert?

    Das zweite Problem wäre das die Datei in Latin1 ist und die DB in UTF8.
    Eine Lösung ist die Umwanldung mit iconv. Aber kann man irgendwie psql sagen das die Datei in
    einer anderen Codierung erfolgt?

    Viele Grüße
    hp
    Ja, du kannst client_encoding passend setzen.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Kaptain Iglo ist offline Neuer Benutzer
    Registriert seit
    24.01.2011
    Beiträge
    11

    Standard

    Danke für die Antwort. Beim dritten Lesen der Fehlermeldung habe ich gemerkt was der von mir will.
    Problem ist das hier noch Gänsefüsschen vorhanden sind.
    Sieht also so aus:
    "name";"0";"Strasse"

    Hier habe ich noch nichts gefunden wie ich postgres sagen soll das er die gänsefüsschen weglassen soll.

  4. #4
    akretschmer ist gerade online Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.465

    Standard

    Zitat Zitat von Kaptain Iglo Beitrag anzeigen
    Danke für die Antwort. Beim dritten Lesen der Fehlermeldung habe ich gemerkt was der von mir will.
    Problem ist das hier noch Gänsefüsschen vorhanden sind.
    Sieht also so aus:
    "name";"0";"Strasse"

    Hier habe ich noch nichts gefunden wie ich postgres sagen soll das er die gänsefüsschen weglassen soll.
    Wie wäre es mit dem sinnentnehmenden Lesen der Doku?

    Code:
    test=# \h copy;
    Command:     COPY
    Description: copy data between a file and a table
    Syntax:
    COPY table_name [ ( column [, ...] ) ]
        FROM { 'filename' | STDIN }
        [ [ WITH ] ( option [, ...] ) ]
    
    COPY { table_name [ ( column [, ...] ) ] | ( query ) }
        TO { 'filename' | STDOUT }
        [ [ WITH ] ( option [, ...] ) ]
    
    where option can be one of:
    
        FORMAT format_name
        OIDS [ boolean ]
        DELIMITER 'delimiter_character'
        NULL 'null_string'
        HEADER [ boolean ]
        QUOTE 'quote_character'
        ESCAPE 'escape_character'
        FORCE_QUOTE { ( column [, ...] ) | * }
        FORCE_NOT_NULL ( column [, ...] ) |
        ENCODING 'encoding_name'
    
    test=# create table bla (f1 text, f2 text);
    CREATE TABLE
    Time: 4,039 ms
    test=*# copy bla from stdin csv delimiter ';' quote '"';
    Enter data to be copied followed by a newline.
    End with a backslash and a period on a line by itself.
    >> "bla";"fasel"
    >> \.
    Time: 10390,237 ms
    test=*# select * from bla;
     f1  |  f2
    -----+-------
     bla | fasel
    (1 row)

    Andreas]
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

Ähnliche Themen

  1. Excel-Datei mit Zeilenumbruch - Import bricht ab
    Von Pegasus0211 im Forum Migration
    Antworten: 8
    Letzter Beitrag: 23.01.2010, 07:06
  2. import einer .sql92 Datei
    Von adifl im Forum Konfiguration
    Antworten: 4
    Letzter Beitrag: 03.12.2009, 13:10
  3. Import einer CSV-Datei
    Von nixdorf im Forum phpPGAdmin
    Antworten: 11
    Letzter Beitrag: 25.04.2007, 12:46
  4. Datei Import in 2 Tabellen PK FK
    Von belvegor im Forum SQL
    Antworten: 4
    Letzter Beitrag: 02.02.2007, 09:35
  5. Problem bei Import aus Datei
    Von scytale im Forum Allgemeines
    Antworten: 17
    Letzter Beitrag: 04.01.2007, 15:45

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum