Неверный счетчик столбцов во входе CSV в строке 1 ошибка

Я пытаюсь получить ".csv " файл в базу данных SQL с phpMyAdmin. Однако всякий раз, когда я импортирую его, я получаю ошибку: недопустимое количество столбцов во входных данных CSV в строке 1. Я провел весь день, играя вокруг с различными вариантами, чтобы попытаться заставить его работать, но безрезультатно. В моем ровно 47 столбцов .CSV-файл. Я создал 47 столбцов в моей таблице SQL. Однако имена не совсем совпадают с именами в файле. Когда я импортирую, он продолжает давать мне эту ошибку. Любая помощь был бы очень признателен! ~ Carpetfizz Одна вещь, которую я думал, может вызвать проблему, заключалась в том, что первый столбец ничего не назван в моем документе excel. Может ли это вызвать проблему?

EDIT 12: 30AM: phpMyAdmin уже последняя версия доступна, через (apt-get install phpmyadmin) (phpmyadmin уже последняя версия)

Space in A1

здесь - это .CSV-файл, если это поможет.

12 ответов


Если ваша таблица БД уже существует, и вы не хотите включать все столбцы таблицы в свой CSV-файл, то при запуске PHP Admin Import вам нужно будет заполнить поле имена столбцов в параметрах формата для CSV, показанных здесь внизу следующего скриншота.

в итоге:

  • Выберите файл CSV
  • установите формат в CSV
  • заполните поле имена столбцов именами столбцов в вашем CSV
  • если ваш CSV-файл имеет имена столбцов, перечисленные в строке 1, Установите "пропустить это количество запросов (для SQL) или строк (для других форматов), начиная с первого" до 1

enter image description here


исправлено! Я в основном просто выбрал "импорт", даже не делая таблицу сам. phpMyAdmin создал для меня таблицу со всеми правильными именами столбцов из исходного документа.


Я получил ту же ошибку при импорте .csv-файл с использованием phpMyAdmin.

решением моей проблемы было то, что мой компьютер сохранил .csv-файл с; (с запятой) в качестве разделителя вместо, (запятые).

в параметрах формата вы можете выбрать "столбцы разделены:" и выбрать ; вместо, (запятая).

чтобы посмотреть, в чем ваш компьютер хранит файл, откройте .CSV-файл в текстовом редакторе.


У меня просто была эта проблема и я понял, что пустые столбцы рассматриваются как столбцы со значениями, я увидел это, открыв свой CSV в текстовом редакторе. Чтобы исправить это, я открыл электронную таблицу и удалил столбцы после моего последнего столбца, они выглядели полностью пустыми, но они не были. После того, как я сделал это, импорт работал отлично.


имел ту же проблему и сделал два изменения: (a) не переписал существующие данные (не идеально, если это ваше намерение, но вы можете запустить запрос на удаление заранее), и (b) подсчитал столбцы и обнаружил, что csv имеет пустой столбец, поэтому всегда платит, чтобы вернуться к исходной работе, даже если все "кажется" правильным.


вам нужно будет пропустить первую строку (где определены имена столбцов), и вам нужно будет проверить, какой "символ" разделяет ячейки (обычно это ,, но в моем случае был ;)

Ниже приведена картина моего импорта:

enter image description here


ваше решение, похоже, предполагает, что вы хотите создать совершенно новую таблицу.

однако, если вы хотите добавить содержимое в уже существующую таблицу, найдите структуру таблицы и обратите внимание на количество столбцов (столбец id, если у вас есть один все еще подсчитывает ->, даже если это может быть автоматическое приращение/уникальный)

Итак, если таблица выглядит так id имя возраст секс

убедитесь, что ваша таблица excel выглядит так A1 id B1 имя C1 возраст D1 пол

и теперь они оба имеют 4 колонки.

также прямо под частичным импортом, рядом с пропуском количества запросов.... увеличьте число, чтобы пропустить соответствующую строку. выбор 1 автоматически пропустит первую строку. Для тех, у кого могут быть заголовки в файлах excel


Если таблица уже была создана, и Вы были достаточно ленивы, чтобы не указывать столбцы в полях ввода имен, то все, что вам нужно сделать, это выбрать пустые столбцы справа от содержимого файла и удалить их.


У меня была аналогичная проблема с phpmyAdmin. Количество столбцов в импортируемом файле соответствует столбцам в целевой таблице базы данных. Я попытался импортировать файлы в обоих .csv и .формат ods безрезультатно, получая множество ошибок, включая один аргумент, что количество столбцов было неправильным.

Как .csv и .файлы ods были созданы с помощью LibreOffice 5.204. Основываясь на небольшом опыте с проблемами импорта в прошлые годы, я решил переделать файлы с помощью gnumeric электронная таблица, экспорт .СОД в соответствии со стандартом "строгого" формата. Вуаля! Больше нет проблем с импортом. Хотя у меня не было времени исследовать проблему дальше, я подозреваю, что что-то изменилось во внутренней структуре вывода файла LibreOffice.


при возникновении ошибок с входными файлами любого типа,проблемы с кодировкой общие.

простым решением может быть открытие нового файла, копирование вставки в него текста CSV, а затем сохранение его как нового файла.


последний столбец моей базы данных (это столбец F в электронной таблице) не используется и поэтому пуст. Когда я импортировал файл CSV excel, я получил ошибку "количество столбцов".

Это потому, что excel сохранял только столбцы, которые я использую. А-Е

добавление 0 в первую строку в F решило проблему, затем я удалил ее после успешной загрузки.

надеюсь, это поможет и сэкономит кому-то еще время и потерю волос:)


самая тупая вещь, которая когда-либо исправит эту ошибку в Microsoft Excel (при условии, что у вас действительно есть все остальное):

выберите данные и нажмите "границы все" в Excel (ставит визуальные границы вокруг ваших данных) перед сохранением CSV. Звучит бессмысленно? Я полностью согласен! Однако он исправит эту ошибку. Я использую этот трюк, по крайней мере, три раза в неделю.