Exceltabellen in mysql importieren Bug in phpmyadmin?

gutwirth

Neuer Benutzer
Beiträge
2
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
 
Werbung:
Aber die Aufgabe Daten aus Excel in eine Datenbank zu übertragen ist doch kein exotisches Problem!

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.
 
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...
 
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.
 
Werbung:
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?
 
Zurück
Oben