CSV importieren mit PHPMyAdmin

der-gott

Vice Admiral Special
Mitglied seit
02.05.2006
Beiträge
763
Renomée
1
Standort
Frankfurt a.M (um die Ecke jedenfalls =)
Würde gerne mithilfe des Assistenten eine CSV Datei in eine SQL Datenbank importieren. Leider komme ich mit den Optionsfeldern absolut nicht klar. Ich verstehe einfach nicht, was wo rein muss (um genau zu sein das Feld mit dem "escaped" ist mir ein Rätsel) Die Datensätze sehen aktuell so aus können allerdings natürlich nach belieben abgeändert werden:

;Turan ;/;Hellas Rüsselsheim;/;6;!

Heißt :
Feld 1 : Furan
Feld 2 : Hellas Rüsselsheim
Feld 3 : 6

De Optionen habe ich wie folgt eingestellt :
Felder getrennt mit /
Felder eingeschlossen von ;
Felder escaped von : ???
Zeilen getrennt mit !

php.jpg



wo liegt der Fehler begraben ... ?
 
Wirklich Niemand eine Idee bzw. Erfahrungen damit ?
 
Ein Escape-Zeichen braucht man, um das nachfolgende Zeichen besonders zu kennzeichnen, damit es nicht wie gewohnt verarbeitet wird. Beispiel: Das Komma ist als Trennzeichen definiert, d.h. sobald ein Komma gelesen wird, wird getrennt. Will man aber im Text ein Komma erscheinen lassen und eben nicht dort trennen, dann muß man das Escapezeichen davorsetzen. Umgekehrt kann man auch ein normalerweise als Text behandeltes Zeichen als Steuerzeichen kennzeichnen, z.B. wird in Texten \n geschrieben, wenn das n nicht als n angezeigt, sondern stattdessen der Zeilenumbruch gemacht werden soll.

Bei CSVs sind die üblichen Nutzungen der Zeichen die in Deiner Grafik angegebenen, die in Deinem eigenen CSV sind doch ziemlich anders. Aber wenn Du sicher bist, daß die drei angegebenen Spalten daraus werden sollen, dann ist das doch richtig, wie Du es einstellen wolltest. Was dann das Escape-Zeichen ist, weiß man daraus noch nicht, es kommt ja keins vor. Wenn in den restlichen Datensätzen auch keins vorkommt, dürfte es aber egal sein, was darin steht, dann lass den Standard drin, also den Backslash (\).
 
Bekomme beim importieren aber leider trotzdem folgenden Fehler :

Code:
Ungültige Anzahl an Feldern in Zeile 1.
 
Um den Fehler zu finden wäre erst einmal die Fehlermeldung nicht schlecht ;)

Soweit ich das sehen kann sind deine Einstellungen OK (wenn auch ungewöhnlich). Das Escape-Zeichen brauchst du nur wenn eins deiner Trenn- oder Einschließungszeichen im Text des Feldes auftauchen soll. Dann muss ein Escape-Zeichen vor der entsprechenden Stelle stehen. Beispiel:

;Turan ;/;Hellas\; Rüsselsheim;/;6;!

Heißt :
Feld 1 : Furan
Feld 2 : Hellas; Rüsselsheim
Feld 3 : 6

Gruß, Chris

Edit: Mann, ich scheine echt langsam zu tippen.

Wie sieht deine Tabelle dazu aus?
 
OK. Jetzt hab ich es rein bekommen aber leider in die falschen Felder. Das Problem ist, dass ich in der Datenbank in jedem EIntrag noch eine ID speicher. Die ist in meiner csv-Tabelle allerdings leider nicht enthalten und soll per AutoIncr. erstellt werden. Ist das machbar ?
 
Dazu müsstest du die Spalten im Feld "Spaltennamen" angeben. Leider weiß ich da jetzt die genaue Syntax nicht.

Edit: Hab gerade ein Beispiel gefunden in dem die Spalten einfach mit Komma getrennt aufgeführt waren. Falls das nicht funktioniert kannst du als Trennzeichen auch dein eigenes (den Schrägstrich) versuchen.
 
Zuletzt bearbeitet:
Würdest du mir das Beispiel mal posten ... verstehe grade nur Bahnhof :)
 
Du schreibst bei "Spaltennamen" einfach "Spalte1,Spalte2,Spalte2" (ohne Anführungszeichen) rein, natürlich mit den Namen der Spalten in denen die Daten später landen sollen.

Falls das nicht funktioniert kannst du noch "Spalte1/Spalte2/Spalte3" probieren, da du ja bei dir den Schrägstrich als Trennzeichen genommen hast.

Gruß, Chris
 
Es will einfach nicht :/ Ich habe mit diesen Optionen :
sqlopt.jpg

versucht Datensätze in diesem Format zu importieren :

;Krockenberger;/;TV Crumstadt;/;1;/!
Testweise auch mit einem / Zusatz vorne als
/;Krockenberger;/;TV Crumstadt;/;1;/!

ich bekomme jedoch immer diesen Fehler :
sqlerror.jpg


Namen der Felder Stimmen auf jedenfall. Das Datenformat ist auch das gleiche (also Zahlen bzw. Text)
 
Was hast du mit dem letzten Schrägstrich vor? Damit sind das Ganze dann 4 Spalten.
Außerdem: Dein ganzer Text (alle späteren Tabellenzeilen) steht in 1 Zeile, richtig? Da du als Zeilentrennzeichen das Ausrufezeichen angegeben hast darf dann kein Newline kommen.

Gruß, Chris
 
ES GEHT !

Ich danke dir vielmals für deine Hilfe ;)
 
Zurück
Oben Unten