Registrieren  •  Login 
  
 
im Forum


 FAQ   Mitgliederliste   Benutzergruppen   Teamseite   Suchen 

CSV über PMA importieren

 
Neues Thema eröffnen   Neue Antwort erstellen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 18.06.2009, 20:13    Titel: CSV über PMA importieren

Hallo zusammen

Ich habe eine CSV-Tabelle, die folgendermassen aufgebaut ist:

Code:
sub_id;sub_name;sub_vorname;sub_ceviname;Geburtsdatum;sub_abteilung;sub_alter;sub_handy;sub_ressort;sub_status;sub_lastedit
;Muster;Max;Spitzname;01.01.1999;Abteilung;23;;;1;Importer


Wenn ich das jetzt über phpMyAdmin importieren will, kommt folgender Fehler:

Zitat:
Ungültige Anzahl an Feldern in Zeile 1.



Meine Import-Einstellungen:
http://img269.imageshack.us/img269/28/csvimport.jpg


Weiss jemand Rat?

Vielen Dank!
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13993
Wohnort: Wien

BeitragVerfasst am: 18.06.2009, 21:00    Titel:

Hallo,
du hast bei Felder eingeschlossen von ein doppeltes Anführungszeichen stehen. Versuche doch einmal alle Daten (vorallem die Leerdaten) in Anführungszeichen zu schreiben. Außerdem solltest du zur Sicherheit immer eine neue Zeile am Ende der Datei beginnen (einfach ein Zeilenumbruch). Vielleicht hilft es etwas, der Import von CSV Daten ist immer etwas heikel Laughing


MfG Christian
_________________
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 18.06.2009, 21:45    Titel:

das mit den Anführungszeichen bei leeren Zellen habe ich schon versucht.

Neue Zeile? Ist doch eine neue Zeile....?
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 20.06.2009, 10:11    Titel:

Also, ich habe jetzt verschiedene Tools ausprobiert, die ich im Internet gefunden habe, wie "csv2mysql" und "csvSuite". Alle sind jämmerlich durchgefallen.

Nun möchte ich gerne selber etwas machen.
Ich hätte mir ein Script vorgestellt, das folgendes macht:

1) eine Datei, zb "Liste.csv" öffen (das geht mit fopen() oder?)
2) Der Dateizeiger soll dann genau eine Zeile lesen
3) Die Daten sollen am ; mit explode() aufgeteilt und in Arrays geschrieben werden
4) aus den gewonnenen Array-Variabeln soll ein INSERT INTO-Befehl erstellt werden.
4) Dann soll er die nächste Zeile lesen, alles durcharbeiten, bis keine Zeilen mehr vorhanden sind.

Mein Problem besteht nun vor allem in den folgenden Punkten:
- Die Dateifunktionen:
Dass ich eine Datei mit fopen() öffnen kann, ist mir klar. Wie aber kann ich den Dateizeiger dazu bringen, immer nur eine Zeile auf's mal zu lesen?

- Die Schlaufe:
Ich dachte hier an eine while-Schlaufe. Wie aber lautet der Befehl bei einer geöffneten Datei, dass er solange die Schlaufe durcharbeiten soll, bis keine Zeilen mehr vorhanden sind?


Ich hoffe, ihr könnt mir helfen!

Herzlichen Dank

Liebe Grüsse,
Thomas
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
killerbees19
Administrator & Rennleitung
Administrator & Rennleitung



OC-Nickname: KB19
Südafrika Team South Africa

Anmeldedatum: 09.05.2006
Geschlecht: Männlich
Alter: 29 Jahre
Beiträge: 13993
Wohnort: Wien

BeitragVerfasst am: 20.06.2009, 12:09    Titel:

Entschuldige, dass ich erst jetzt antworte, aber ich bin derzeit im Renovierungstress Wink

Mit Zeilenumbruch meinte ich ganz am Ende der Datei, einen abschließen Zeilenumbruch sollte man sich gerade bei Linux Systemen immer angewöhnen, scheint aber doch nicht das Problem zu sein. Andere Frage zu seinem CSV Problem: Bist du sicher, dass auch genausoviel Spalten in der Tabelle existieren, in der du die Daten einfügen willst? MySQL hat übrigens ein nettes Feature, dass nicht überall freigeschaltet ist: LOAD DATA INFILE - damit kann man CSV Daten auch ganz einfach einlesen (die Option gibts auch im PMA), direkt über MySQL. Und für deine anderen Fragen: Dazu gibt es Tausende Tutorials im Internet. Bzw. schau dir einfach file() an, der Rest sollte dann selbsterklärend sein Wink

EDIT: Also es muss an deiner Tabelle oder an deinen Importeinstellungen vom PMA liegen, denn bei folgender Tabelle funktioniert meine Test-CSV Datei:
Code:
CREATE TABLE IF NOT EXISTS `test` (
  `spalte1` int(8) NOT NULL default '0',
  `spalte2` int(8) NOT NULL default '0',
  `spalte3` int(8) NOT NULL default '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;


Meine Test-Datei:
Code:
spalte1;spalte2;spalte3
1;2;3
4;5;6
;;-1

Beachte, dass du in PMA auswählen musst, dass die erste Spalte übersprungen werden soll Exclamation


MfG Christian
_________________


Dieser Beitrag wurde insgesamt 3 mal geändert. Zuletzt von killerbees19.
Nach oben
Benutzer-Profile anzeigen killerbees19 ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden Website dieses Benutzers besuchen
thoha
Übersetzer
Übersetzer



Anmeldedatum: 07.10.2006
Geschlecht: Männlich
Beiträge: 2591

BeitragVerfasst am: 20.06.2009, 15:30    Titel:

Hallo Christian

mit LOAD DATA INFILE habe ichs auch schon probiert, hat auch nix gebracht.

Der Import über PMA funktioniert jetzt.
Das nächste Problem ist, dass bei einem Namen mit Umlaut (zB bei mir, ich heisse Häfliger) bricht der Import des Datensatzes ab.

In der Spalte sub_name steht dann nur "H", weil er irgendwie nicht über das ä hinauskommt.

Irgendwelche Ideen?

Edit: habe die CSV nun mit UTF-8 Codierung gespeichert und Importiert. Nun füllt er zwar den vollen Namen ein, anstatt eines Umlautes gibt es aber ein Fragezeichen (H?fliger)


Edit 2: Es geht jetzt. Wenn ich die CSV-Datei im Windows/Latin-1-Format nehme und den Zeichensatz für den Import in PMA auch so einstelle, kommen auch die Umlaute

Dieser Beitrag wurde insgesamt 3 mal geändert. Zuletzt von thoha.
Nach oben
Benutzer-Profile anzeigen thoha ist derzeit offline Spielerprofile bei SC:Special Bewerben anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.
Du kannst Dateien in diesem Forum nicht hochladen.
Du kannst Dateien in diesem Forum nicht herunterladen.

 

Alle Zeiten sind GMT + 2 Stunden (Sommerzeit)
Aktuelles Datum und Uhrzeit: 30.05.2020, 23:12
Nach oben
Valid HTML 4.01 Transitional
Valid CSS!
Software based on work from the phpBB-Group  •  Deutsche Übersetzung von phpBB.de

netcup - Internetdienstleistungen
 
 
[ happytec.at | forum.happytec.at | blog.happytec.at | esports.happytec.at | event.happytec.at ]