Linuchs: phpmyadmin lehnt CSV-Datei ab

Moin,

in eine neue leere DB-Tabelle möchte ich Adressen einfügen, die als CSV-Datei vorliegen:

bezeichnung;sortier_nr;plz;ort;homepage;zugriffscode
Verein A;BW;69469;Weinheim;http://www.example.de/;999 999 999
Verein B;BW;72622;Nürtingen.;http://example2.com/;888 888 888
...

Fehlermeldung von phpmyadmin:

Ungültige Anzahl an Spalten im CSV-Import in Zeile 1.

Keine Ahnung, was das bedeutet. Alle Zeilen haben sechs Felder.

Gruß vom ratlosen Linuchs

  1. Hallo,

    Keine Ahnung, was das bedeutet. Alle Zeilen haben sechs Felder.

    Möglicherweise unsichtbare Zeichen in der ersten Zeile?

    Gruß
    Kalk

    1. Hi,

      Keine Ahnung, was das bedeutet. Alle Zeilen haben sechs Felder.

      Möglicherweise unsichtbare Zeichen in der ersten Zeile?

      Geheimtinte? 😉

      Mich hat wohl das ü in "Nürtingen" argwöhnisch gemacht: Ein Problem mit der Zeichencodierung? - Aber das wäre dann nicht Zeile 1.

      Live long and pros healthy,
       Martin

      --
      Ich stamme aus Ironien, einem Land am sarkastischen Ozean.
      1. danke für den Hinweis des Ü. Habe der CSV-Datei noch BOM verpasst, leider ohne Erfolg, Fehler bleibt.

        Dann habe ich nur die erste Zeile geschickt, Fehler bleibt.

        Will phpmyadmin womöglich sämtliche Felder der Tabelle haben?

        Habe gerade entdeckt: phpmyadmin ignoriert die erste CSV-Zeile mit den Spaltennamen und verlangt eine Eingabe der Namen, durch Komma getrennt, obwohl ich vorher ; als Trenner eingegeben habe.

        Jetzt werden fehlende Spalten moniert, ich schaue die Fehler nach.

        1. Will phpmyadmin womöglich sämtliche Felder der Tabelle haben?

          Die Fehlermeldung lässt diese Interpretation zu…

          Hast Du denn etwa nicht versucht, die Spaltenanzahl zu korrigieren?

          Habe gerade entdeckt: phpmyadmin ignoriert die erste CSV-Zeile mit den Spaltennamen und verlangt eine Eingabe der Namen, durch Komma getrennt, obwohl ich vorher ; als Trenner eingegeben habe.

          Aus solchen Gründen vermeide ich überflüssige und von einer breiten Community mit Misserfolg getesteter Software: mysqlimport funktioniert bestens, awk existiert, …

  2. Hallo Linuchs,

    Stimmen denn die Einstellungen?

    Screenshot Einstellungen CSV-Import PHP-MyAdmin

    Bis demnächst
    Matthias

    --
    Du kannst das Projekt SELFHTML unterstützen,
    indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.
    1. ich hoffe:

      csv

      1. Hallo

        ich hoffe:

        csv

        Ich habe versucht, das Problem mit dem Beispielcode nachzustellen. Ich habe auch die in deinem Screenshot gezeigten Einstellungen benutzt. Die einzigen Unterschiede gegenüber deinem Screenshot betreffen die Angabe des Tabellennamens und die Sache mit den Spaltennamen. Bei mir ist da eine Checkbox, die ich erst nach dem Test auf meinem Screenshot gesehen habe. Die haben sie oberhalb des Label-Texts allerdings auch gut versteckt.

        Screenshot der Uploadeinstellungen für eine CSV-Datei

        Ergebnis: Ich konnte den Import durchführen, allerdings ist die erste Zeile der CSV-Datei mit den Spaltennamen wegen des Malheurs mit dem fehlenden Haken in der passenden Checkbox in Zeile 1 der Tabelle gelandet und die Spaltennamen sind generisch.

        Screenshot der aus der CSV-Datei importierten Tabelle

        Es funktioniert grundsätzlich. Also gleich nochmal. Lösche dei Tabelle und setze in den Einstellungen den Haken für die Spaltennamen in der ersten Zeile.

        Screenshot der aus der CSV-Datei importierten Tabelle mit den aus der ersten Zeile der Datei generierten Spaltennamen

        Siehe da, es funktioniert. Die Spaltentypen und -größen ermittelt phpMyAdmin anhand der Inhalte der Spalten. So lautet zum Beispiel der Spaltentyp für die Spalte „sortier_nr“ varchar(2) und der für „plz“ int. Vielleicht kommt dein phpMyAdmin nach Analyse der Spalten mit den Inhalten der ersten Zeile durcheinander. Die ist ja anders aufgebaut, als alle anderen Zeilen.

        Meine phpMyAdmin-Version ist die 5.0.2. In deinem Screenshot findet sich weder die Checkbox zur Übernahme der Spaltennamen aus der ersten Zeile noch das Eingabefeld für den Tabellennamen. Stattdessen findet sich ein Eingabefeld für die (offensichtlich) freie Eingabe von Spaltennamen.

        Gib mal testweise die Spaltennamen in dem Eingabefeld ein (benutze die angebotene Hilfe für eventuell vorhandene Eigenheiten der dabei zu benutzenden Syntax), nimm die erste Zeile mit den „mitgelieferten“ Spaltennamen aus der CSV-Datei heraus und starte einen neuen Importversuch. Mal sehen, was dabei heraus kommt.

        Tschö, Auge

        --
        Ein echtes Alchimistenlabor musste voll mit Glasgefäßen sein, die so aussahen, als wären sie beim öffentlichen Schluckaufwettbewerb der Glasbläsergilde entstanden.
        Hohle Köpfe von Terry Pratchett
        1. Hallo Auge,

          Meine phpMyAdmin-Version ist die 5.0.2. In deinem Screenshot findet sich weder die Checkbox zur Übernahme der Spaltennamen aus der ersten Zeile noch das Eingabefeld für den Tabellennamen.

          Die fehlen, weil ich "Importieren" aus einer geöffneten DB-Tabelle heraus aufgerufen habe.

          Bis demnächst
          Matthias

          --
          Du kannst das Projekt SELFHTML unterstützen,
          indem du bei Amazon-Einkäufen Amazon smile (Was ist das?) nutzt.