1. Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm
    Information ausblenden

Exceltabellen in mysql importieren Bug in phpmyadmin?

Dieses Thema im Forum "MySQL und MariaDB" wurde erstellt von gutwirth, 25 März 2019.

  1. gutwirth

    gutwirth Neuer Benutzer

    Hallo Experten,
    bin Lehrer (fast 70) und plage mich das ganze Wochenende um 23 Exceltabellen in eine mysql mittels myphpadmin hochzuladen. Das nervt ungemein. Excel erstellt die CSV immer nur ohne " als Feldbegrenzung.
    Wenn ich das Trennzeichen auf ; und 'spalten eingeschlossen' und 'spalten escaped' lösche, dann kommt immer 'Ungültige Anzahl an Spalten im CSV-Import in Zeile 1.' obwohl die Spaltenanzahl definitiv stimmt!!!
    Hab dann nur mit 2 Zeilen alle Varianten probiert. Nur mit dieser ging es:
    "1","Ein Customer-Relationship-Management-System(CRM-System) unterstützt das Management von Kundendaten."
    "2","Bei der lean production werden 7 Verschwendungsarten herausgearbeitet. Die 5S Methode ist eine Vorgehensweise zur einfachen Optimierung in 5 Schritten. <a href='7 Verschwendungsarten' target='_blank'>siehe Literatur dazu</a>"

    Aber selbst da wurde das erste Feld im ersten Satz (also 1) nicht übertragen und eine Fehlermeldung wurde ausgegeben.
    Mit dem könnte ich leben. doch wie kann ich die " überall einsetzen? Manche Tabellen haben tausende Zeilen!
    Habs auch über den Umweg MS-Access probiert, wieder erfolglos. Frage mich ob ev myphpadmin einen Bug hat. Aber die Aufgabe Daten aus Excel in eine Datenbank zu übertragen ist doch kein exotisches Problem!
    Für einen tipp wäre ich sehr dankbar.
    Uwe aus Salzburg
     
  2. akretschmer

    akretschmer Datenbank-Guru

    Sicher, nur ist MySQL halt keine wirklich gut funktionierende Datenbank ;-)

    Du kannst ja als Zwischenschritt versuchen, es in PostgreSQL einzulesen, dort geht es via COPY-Befehl. Dieser versteht alle möglichen Optionen, hier die Hilfe dazu:

    Code:
    test=# \h copy
    Command:     COPY
    Description: copy data between a file and a table
    Syntax:
    COPY table_name [ ( column_name [, ...] ) ]
        FROM { 'filename' | PROGRAM 'command' | STDIN }
        [ [ WITH ] ( option [, ...] ) ]
    
    COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }
        TO { 'filename' | PROGRAM 'command' | STDOUT }
        [ [ WITH ] ( option [, ...] ) ]
    
    where option can be one of:
    
        FORMAT format_name
        OIDS [ boolean ]
        FREEZE [ boolean ]
        DELIMITER 'delimiter_character'
        NULL 'null_string'
        HEADER [ boolean ]
        QUOTE 'quote_character'
        ESCAPE 'escape_character'
        FORCE_QUOTE { ( column_name [, ...] ) | * }
        FORCE_NOT_NULL ( column_name [, ...] )
        FORCE_NULL ( column_name [, ...] )
        ENCODING 'encoding_name'
    
    test=#
    
    Wenn Du das dann in PG hast, kannst es ja auf diesem Wege auch wieder in ein CSV-Format exporttieren, welches MySQL versteht. Oder in einem Dump speichern, den Du in MySQL einlesen kannst. Oder gleich bei PostgreSQL bleiben, ist eh viel besser.
     
  3. gutwirth

    gutwirth Neuer Benutzer

    Danke für die rasche Rückmeldung.Nur mein Provider bietet nur php&mysql an. Ich kann mir nicht vorstellen, dass es nicht möglich ist Daten aus Excel in mysql zu importieren, denn viele Daten werden in Excel einfach bearbeitet. Hab auch einiges gegoogelt doch nix hat geholfen. Stehe unter Druck, weil einige Studenten schon drauf warten...
     
  4. akretschmer

    akretschmer Datenbank-Guru

    Du kannst ja zu Hause PG installieren und das als Zwischenlösung nutzen, nur so als Idee. MySQL verwende ich nicht, weil zu kaputt, aber vielleicht findet sich ja wer, der Dir eine bessere Lösung bietet.
     
  5. ukulele

    ukulele Datenbank-Guru

    Ich bin in MySQL auch nicht firm. So wie ich das verstehe sind die Import-Funktionen ja hauptsächlich von PHPmyAdmin als Editor abhängig, einen anderen Zugang zur DB hast du vermutlich gar nicht. Ich habe das hier angelesen, schaut nach einem guten Einstieg aus:
    Mit phpMyAdmin Daten direkt aus Excel importieren

    Ansonsten könnte ich bei MS SQL helfen. Access ist ähnlich aber grade in solchen Bereichen mit weniger Funktionen ausgestattet. Kannst du die Dateien in Access direkt öffnen und aus Access exportieren?
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden