Ongeldig aantal kolommen in CSV-invoer op regel 1 Fout

Ik probeer een “.csv”-bestand in een SQL-database te krijgen met phpMyAdmin. Telkens wanneer ik het importeer, krijg ik de foutmelding: Ongeldig aantal kolommen in CSV-invoer op regel 1.
Ik heb de hele dag met verschillende opties gespeeld om te proberen het werkend te krijgen, maar zonder resultaat. Er zijn precies 47 kolommen in mijn .csv-bestand. Ik heb 47 kolommen in mijn SQL-tabel gemaakt. De namen zijn echter niet precies dezelfde als die in het bestand. Telkens wanneer ik importeer, blijft het me die fout geven.
Om het even welke hulp zou zeer gewaardeerd worden!
~Carpetfizz
Een ding waarvan ik dacht dat het het probleem zou kunnen veroorzaken, was dat de eerste kolom niets genoemd wordt in mijn Excel-document. Kan dit een probleem veroorzaken?

EDIT 12:30AM: phpMyAdmin is al de nieuwste versie beschikbaar, via (apt-get install phpmyadmin) (phpmyadmin is al de nieuwste versie)

Hieris het .csv-bestand, als dat helpt.


Antwoord 1, autoriteit 100%

Als uw DB-tabel al bestaat en u NIET alle kolommen van de tabel in uw CSV-bestand wilt opnemen, moet u bij het uitvoeren van PHP Admin Import het veld Kolomnamen invullen in de Formaatspecifieke opties voor CSV – Hier weergegeven onder aan de volgende schermafbeelding.

Samengevat:

  • Kies een CSV-bestand
  • Stel het formaat in op CSV
  • Vul het veld Kolomnamen in met de namen van de kolommen in uw CSV
  • Als uw CSV-bestand de kolomnamen in rij 1 heeft, stelt u “Sla dit aantal query’s (voor SQL) of regels (voor andere indelingen), beginnend bij de eerste over” in op 1


Antwoord 2, autoriteit 48%

Opgelost! Ik heb eigenlijk gewoon “Importeren” geselecteerd zonder zelf een tabel te maken. phpMyAdmin heeft de tabel voor mij gemaakt, met alle juiste kolomnamen, uit het originele document.


Antwoord 3, autoriteit 17%

Ik kreeg dezelfde fout bij het importeren van een .csv-bestand met phpMyAdmin.

De oplossing voor mijn probleem was dat mijn computer het .csv-bestand opsloeg met ; (puntkomma) als scheidingsteken in plaats van , (komma’s).

In de Formaatspecifieke opties kunt u echter kiezen voor “kolommen gescheiden:” en selecteren; in plaats van , (komma).

Om te zien waar uw computer het bestand in opslaat, opent u het .csv-bestand in een teksteditor.


Antwoord 4, autoriteit 7%

Dit is eigenlijk vrij eenvoudig op te lossen, ik schreef oorspronkelijk ongeveer 10 jaar geleden over de oplossing hier https://ao.gl/phpmyadmin-invalid-field-count-in-csv-input-on-line-1/

Wat u wilt doen, is “Velden beëindigd door” wijzigen van “;” naar “,” en zorg er vervolgens voor dat het “Gebruik LOKAAL trefwoord” is geselecteerd.


Antwoord 5, autoriteit 6%

Je moet de eerste rij overslaan (waar kolomnamen zijn gedefinieerd) en je moet controleren welk “teken” cellen scheidt (meestal is dit ,, maar in mijn geval was dit ;)

Hieronder is de foto van mijn import:


Antwoord 6, autoriteit 5%

Als er fouten optreden met invoerbestanden van welk type dan ook, komen coderingsproblemenvaak voor.

Een eenvoudige oplossing kan zijn om een nieuw bestand te openen, uw CSV-tekst erin te kopiëren en het vervolgens op te slaan als een nieuw bestand.


Antwoord 7, autoriteit 2%

Ik had net dit probleem en realiseerde me dat er lege kolommen werden behandeld als kolommen met waarden. Ik zag dit door mijn CSV te openen in mijn teksteditor. Om dit op te lossen, opende ik mijn spreadsheet en verwijderde de kolommen na mijn laatste kolom, ze zagen er helemaal leeg uit, maar dat waren ze niet. Nadat ik dit had gedaan, werkte het importeren perfect.


Antwoord 8, autoriteit 2%

Had hetzelfde probleem en bracht twee wijzigingen aan: (a) heeft bestaande gegevens niet overschreven (niet ideaal als dat uw bedoeling is, maar u kunt vooraf een verwijderquery uitvoeren), en (b) telde de kolommen en ontdekte dat de csv had een lege kolom, dus het loont altijd om terug te gaan naar je oorspronkelijke werk, ook al lijkt alles er ‘correct’ uit te zien.


Antwoord 9

Als de tabel al is gemaakt, en je was lui genoeg om de kolommen niet op te geven in de velden namen invoer, dan hoef je alleen maar de lege kolommen rechts van de bestandsinhoud te selecteren en ze te verwijderen.

p>


Antwoord 10

Uw oplossing lijkt ervan uit te gaan dat u een geheel nieuwe tabel wilt maken.

Als je echter inhoud wilt toevoegen aan een reeds bestaande tabel, zoek dan de structuur van de tabel op en noteer het aantal kolommen (de id-kolom, als je er nog een hebt, telt nog steeds->ook al kan het automatisch toenemen /uniek)

Dus als je tafel er zo uitziet
ID Naam Leeftijd Geslacht

zorg ervoor dat uw Excel-tabel eruitziet
A1 id B1 Naam C1 Leeftijd D1 Geslacht

en nu hebben ze allebei 4 kolommen.

Ook onder gedeeltelijk importeren, naast het aantal zoekopdrachten overslaan…. verhoog het aantal om de juiste regel over te slaan. als u 1 kiest, wordt automatisch de eerste regel overgeslagen. Voor degenen die headers in de Excel-bestanden hebben


Antwoord 11

Ik had een soortgelijk probleem met phpmyadmin. De kolomcellen in het te importeren bestand kwam overeen met de kolommen in de doeldatabasetabel. Ik heb geprobeerd bestanden te importeren in zowel .csv- als .ods-formaat voor geen gebruik te maken van een verscheidenheid aan fouten, waaronder één ruzie dat het aantal kolom verkeerd was.

Beide. CSV- en .ods-bestanden zijn gemaakt met LibreOffice 5.204. Op basis van een beetje ervaring met importkwesties in de afgelopen jaren, besloot ik de bestanden te remake met de Gnumeric Spreadsheet, en exporteert de .ods in overeenstemming met de “Strenge” formaatstandaard. Voila! Geen import probleem meer. Hoewel ik geen tijd heb gehad om de kwestie verder te onderzoeken, vermoed ik dat er iets is veranderd in de interne structuur van de bestandsuitgang van LibreOffice.


Antwoord 12

De definitieve kolom van mijn database (de kolom F in het spreadsheet) wordt niet gebruikt en daarom leeg. Toen ik het Excel CSV-bestand importeerde, kreeg ik de fout “Column Count”.

Dit is omdat Excel alleen de kolommen opslaat die ik gebruik. A-E

Een 0 aan de eerste rij toevoegen in F loste het probleem op, vervolgens verwijderde ik het na het uploaden was succesvol.

Ik hoop dat dit helpt en redt iemand anders tijd en verlies van haar 🙂


Antwoord 13

Het domste ding dat deze fout in Microsoft Excel zal oplossen (ervan uitgaande dat je echt al het andere hebt):

Selecteer uw gegevens en klik op “Grenzen allemaal” in Excel (zet visuele grenzen rond uw gegevens) voordat u de CSV opslaat. Klinkt zinloos? Ik ben het er helemaal mee eens! Het zal deze fout echter repareren. Ik gebruik deze truc minstens drie keer per week.


Antwoord 14

Ik heb ook geconfronteerd met dit probleem in PhpMyAdmin.
Gebruik van Load_Data in plaats van belasting opgelost het probleem .

De kolommen waren:

id,date,description,amount,payment_method 

met idals een AUTO_INCREMENT primaire sleutel.
Records waren als deze:

,2019-01-01,Car insurance for year 2019,321.00,bank

De tabelcodering was utf8_general_cien het bestand was in utf-8gecodeerd.

LOAD is ook mislukt bij het handmatig instellen van een waarde voor kolom id.

Other episodes