Nieprawidłowa liczba pól w danych wejściowych CSV w wierszu XX w phpmyadmin?

1
  1. Mam plik CSV 16 MB z 50 000 wierszy, które chcę zaimportować do mojej bazy danych.
  2. Przechodzę do interfejsu PHPMyAdmin, wybieram IMPORT i ustawiam odpowiednie opcje.
  3. Import kończy się niepowodzeniem z błędem Invalid field count in CSV input on line 24,333.
  4. Kiedy patrzę na plik CSV za pomocą Notepad ++ i włączam opcję, View -> Show Symbols -> Show all Characterswszystko w tym wierszu wygląda absolutnie w porządku, znaczy dokładnie tak samo, jak w wierszach wcześniejszych, które zostały poprawnie zaimportowane.

Jak znaleźć problem, na który nazywa się import?

Nie mogę dostarczyć próbki danych, ponieważ zawiera ona poufne informacje.

użytkownik3877230
źródło

Odpowiedzi:

1

Aby znaleźć te przypadki, poszukaj znaków, które mogą być interpretowane jako separator lub złożony lub niezamknięty cytat. Pamiętaj, że jeśli wcześniej w pliku znajduje się nowa linia jako część wartości pola, numeracja linii może być wyłączona, więc linia, na którą patrzysz, może nie być tą, na którą narzeka import.

Spróbuj także zaimportować plik CSV do programu Excel lub OpenOffice, aby sprawdzić, czy te aplikacje traktują plik zgodnie z oczekiwaniami. To da ci przyjemny wizualny sposób na identyfikację problemu.

vallismortis
źródło
Przede wszystkim bardzo dziękuję za odpowiedź, przejrzę plik. Czy istnieje sposób, aby powiedzieć Bazie danych, aby zignorowała ten błąd i zaimportowała linię mimo wszystko? Myślę o tym, żeby to zrobić.
user3877230,
@ user3877230 Zignorowanie błędu może równie dobrze doprowadzić do utraty danych, ponieważ rekordy, które nie pasują, zostaną usunięte, a Ty możesz otrzymać jeden lub więcej rekordów częściowych, które będą trudne do znalezienia po załadowaniu. Problem długości pola będzie znacznie łatwiejszy do rozwiązania przed załadowaniem niż po.
vallismortis
Okej, dziękuję bardzo za radę,
przejrzę
0

Rozwiązaniem było dla mnie skopiowanie / wklejenie całej zawartości programu Excel, utworzenie nowego arkusza programu Excel, a następnie wklejenie całej zawartości.

Następnie zapisz, prześlij itp.

Nie wiem, dlaczego to zadziałało, ale zadziałało i możesz spróbować.

KRS77
źródło