Неверное количество столбцов при вводе CSV в строке 1 Ошибка
Я пытаюсь загрузить файл ".csv" в базу данных SQL с помощью phpMyAdmin. Однако всякий раз, когда я импортирую его, я получаю сообщение об ошибке: Неверное количество столбцов во входных данных CSV в строке 1. Я провел весь день, играя с различными вариантами, чтобы попытаться заставить его работать, но безрезультатно. В моем файле .csv ровно 47 столбцов. Я создал 47 столбцов в своей таблице SQL. Однако имена не совсем совпадают с именами в файле. Всякий раз, когда я импортирую, он продолжает выдавать мне эту ошибку. Любая помощь был бы очень признателен! ~Шипение ковра Одна вещь, которая, как я думал, может быть причиной проблемы, заключалась в том, что первый столбец ничего не назван в моем документе excel. Может ли это быть причиной проблемы?
РЕДАКТИРОВАТЬ 12:30 УТРА: phpMyAdmin уже является последней доступной версией, через (apt-get install phpmyadmin) (phpmyadmin уже является последней версией)
Вот файл .csv, если это поможет.
12 answers
Если ваша таблица БД уже существует, и вы НЕ хотите включать все столбцы таблицы в свой CSV-файл, то при запуске PHP Admin Import вам потребуется заполнить поле Имена столбцов в Параметрах формата для CSV, показанных здесь внизу следующего снимка экрана.
Вкратце:
- Выберите файл CSV
- Установите формат в CSV
- Заполните поле Имена столбцов именами столбцов в вашем CSV
- Если ваш CSV-файл содержит имена столбцов, перечисленные в строке 1, установите "Пропустить это количество запросов (для SQL) или строк (для других форматов), начиная с первого" до 1
Исправлено! Я в основном просто выбрал "Импорт", даже не составив таблицу самостоятельно. phpMyAdmin создал для меня таблицу со всеми правильными именами столбцов из исходного документа.
Я получил ту же ошибку при импорте csv-файла с помощью phpMyAdmin.
Решение моей проблемы заключалось в том, что мой компьютер сохранил файл .csv с; (точкой с запятой) в качестве разделителя вместо (запятых).
Однако в параметрах, зависящих от формата, вы можете выбрать "столбцы разделены:" и выбрать; вместо (запятая).
Чтобы посмотреть, в каком файле хранится файл на вашем компьютере, откройте файл .csv в текстовом редакторе.
У меня только что возникла эта проблема, и я понял, что пустые столбцы обрабатываются как столбцы со значениями, я увидел это, открыв свой CSV в текстовом редакторе. Чтобы исправить это, я открыл свою электронную таблицу и удалил столбцы после моей последней колонки, они выглядели совершенно пустыми, но это было не так. После того, как я сделал это, импорт работал отлично.
Имел ту же проблему и внес два изменения: (а) не переписывал существующие данные (не идеально, если это ваше намерение, но вы можете заранее выполнить запрос на удаление) и (б) подсчитал столбцы и обнаружил, что в csv есть пустой столбец, поэтому всегда стоит вернуться к вашей первоначальной работе, даже если все "кажется" выглядит правильно.
Ваше решение, похоже, предполагает, что вы хотите создать совершенно новую таблицу.
Однако, если вы хотите добавить содержимое в уже существующую таблицу, посмотрите структуру таблицы и обратите внимание на количество столбцов (столбец идентификатора, если он у вас есть, все еще считается -> даже если он может быть автоматически увеличен/уникален)
Итак, если ваша таблица выглядит так , имя идентификатора Возраст Пол
Убедитесь, что ваша таблица Excel выглядит так A1 идентификатор B1 Имя C1 Возраст D1 Пол
И теперь у них обоих есть 4 столбцы.
Также прямо под частичным импортом, рядом с пропуском количества запросов.... увеличьте количество, чтобы пропустить соответствующую строку. при выборе 1 первая строка будет автоматически пропущена. Для тех, у кого могут быть заголовки в файлах excel
Если таблица уже была создана, и вы были достаточно ленивы, чтобы не указывать столбцы при вводе имен полей, то все, что вам нужно сделать, это выбрать пустые столбцы справа от содержимого файла и удалить их.
У меня была аналогичная проблема с phpMyAdmin. Количество столбцов в импортируемом файле соответствовало столбцам в целевой таблице базы данных. Я попытался импортировать файлы как в формате .csv, так и в формате.ods, но безрезультатно, получив множество ошибок, в том числе одну, в которой утверждалось, что количество столбцов неверно.
Файлы .csv и .ods были созданы с помощью LibreOffice 5.204. Основываясь на небольшом опыте работы с проблемами импорта в прошлые годы, я решил переделать файлы с помощью электронной таблицы gnumeric, экспорт .ods в соответствии со стандартом "строгого" формата. Вуаля! Больше никаких проблем с импортом. Хотя у меня не было времени для дальнейшего изучения этой проблемы, я подозреваю, что что-то изменилось во внутренней структуре вывода файлов LibreOffice.
При возникновении ошибок с входными файлами любого типа часто возникают проблемы с кодировкой .
Простым решением может быть открытие нового файла, копирование, вставка в него текста CSV, а затем сохранение его в качестве нового файла.
Последний столбец моей базы данных (это столбец F в электронной таблице) не используется и поэтому пуст. Когда я импортировал CSV-файл excel, я получил ошибку "количество столбцов".
Это связано с тем, что excel сохранял только те столбцы, которые я использую. А-Е
Добавление 0 в первую строку в F решило проблему, затем я удалил ее после успешной загрузки.
Надеюсь, это поможет и сэкономит кому-то еще время и потерю волос:)
Самая глупая вещь, которая когда-либо исправит эту ошибку в Microsoft Excel (при условии, что у вас на самом деле все правильно):
Выберите свои данные и нажмите "Границы всех" в Excel (устанавливает визуальные границы вокруг ваших данных) перед сохранением CSV. Звучит бессмысленно? Я полностью согласен! Однако это исправит эту ошибку. Я использую этот трюк по крайней мере три раза в неделю.