2013-04-27 9 views
21

Próbuję pobrać plik ".csv" do bazy danych SQL za pomocą phpMyAdmin. Jednak za każdym razem, gdy go zaimportuję, pojawia się błąd: Nieprawidłowa liczba kolumn w danych wejściowych CSV na linii 1. Spędziłem cały dzień bawiąc się różnymi opcjami, aby spróbować uruchomić go bezskutecznie. W moim pliku .csv znajduje się dokładnie 47 kolumn. Stworzyłem 47 kolumn w mojej tabeli SQL. Nazwy nie są jednak takie same jak te w pliku. Za każdym razem, gdy importuję, ciągle daje mi ten błąd. Każda pomoc będzie bardzo ceniona! ~ Carpetfizz Jedną z rzeczy, która może być przyczyną problemu jest to, że pierwsza kolumna nie ma nazwy w moim dokumencie programu Excel. Czy to może być przyczyną problemu?Nieprawidłowa liczba kolumn w danych wejściowych CSV w wierszu 1 Błąd

EDIT 00:30: phpMyAdmin jest już najnowsza wersja dostępna za pośrednictwem (apt-get install phpmyadmin) (phpMyAdmin jest już najnowsza wersja)

Space in A1

Here jest plik .csv, jeśli to pomaga.

+0

przewodnik błędu całkowicie. mówi, że w linii 1 masz więcej kolumn niż utworzonych w twojej tabeli mysql. – Amir

+0

jaki jest twój kod do tego, być może to również, spróbuj podać pierwszą kolumnę, a następnie zaimportuj – mukund

+0

@Amir dzięki za wskazanie tego. W arkuszu kalkulacyjnym (który nie został utworzony) numery kolumn pomijają od 47 do 89, a są podświetlone na niebiesko, wszelkie przemyślenia na temat tego, co to oznacza? Oto jego ekran: http://i.imgur.com/IJmTZGO.png – Carpetfizz

Odpowiedz

29

Naprawiono! Zasadniczo właśnie wybrałem opcję "Importuj", nawet nie robiąc samemu stołu. phpMyAdmin utworzył dla mnie tabelę ze wszystkimi prawymi nazwami kolumn z oryginalnego dokumentu.

+5

Również wpadłem na ten sam problem, który miałeś. Naprawiłem to tak jak ty, ale pominąłeś ważny szczegół. Po kliknięciu "Importuj", upewnij się, że tabela w bazie danych jest ** NIE ** wybrana. Zamiast tego należy wybrać nazwę bazy danych ** SHOULD **. – Crt

1

Właśnie miałem ten problem i zdałem sobie sprawę, że były puste kolumny traktowane jako kolumny z wartościami, widziałem to przez otwarcie mojego pliku CSV w edytorze tekstu. Aby to naprawić, otworzyłem arkusz kalkulacyjny i usunąłem kolumny po ostatniej kolumnie, wyglądały zupełnie puste, ale nie były. Po tym, import działał idealnie.

0

Twoje rozwiązanie wydaje się zakładać, że chcesz utworzyć całkowicie nową tabelę.

Jeśli jednak chcesz dodać zawartość do już istniejącej tabeli, sprawdź strukturę tabeli i zanotuj liczbę kolumn (kolumna id, jeśli jeszcze ją zliczysz-> nawet jeśli może to być automatyczny przyrost/unikalne)

Więc jeśli tabela wygląda następująco id Nazwa Wiek Płeć

upewnić się, że Excel wygląda A1 id B1 Nazwa C1 Wiek D1 Sex

i teraz obaj mają 4 kolumny .

Także przy częściowym importowaniu, pomijając liczbę zapytań ... zwiększ liczbę, aby pominąć odpowiednią linię. wybranie 1 spowoduje automatyczne przejście do pierwszej linii. Dla tych, którzy mogą mieć nagłówki w plikach Excela

35

Jeśli twoja tabela DB już istnieje i nie chcesz uwzględniać wszystkich kolumn tabeli w pliku CSV, to po uruchomieniu PHP Admin Import musisz wypełnić pole Nazwy kolumn w opcjach specyficznych dla formatu dla pliku CSV - Pokazane tutaj na dole poniższego zrzutu ekranu.

Podsumowując:

  • Wybierz plik CSV
  • ustawić format na CSV
  • wypełnić pole nazwy kolumn z nazwami kolumn w pliku CSV
  • Jeśli plik CSV ma nazwy kolumn wymienione w wierszu 1, ustaw "Pomiń tę liczbę zapytań (dla SQL) lub wierszy (dla innych formatów), zaczynając od pierwszego" do 1

enter image description here

+1

powinien oznaczać jako poprawną odpowiedź. Musisz podać nazwy kolumn. – Ans

+1

Najlepsze rozwiązanie dla mnie, jeśli masz inną liczbę kolumn w pliku ".CSV". –

+1

rozwiązanie robocze ... dzięki – deemi

7

Ten sam błąd wystąpił podczas importowania pliku .csv przy użyciu phpMyAdmin.

Rozwiązaniem mojego problemu było to, że mój komputer zapisał plik .csv z; (średnik) jako ogranicznik zamiast, (przecinki).

W Opcjach specyficznych dla formatu można jednak wybrać "kolumny oddzielone:" i wybrać; zamiast, (przecinek).

Aby zobaczyć, w jakim komputerze jest przechowywany plik, otwórz plik .csv w edytorze tekstu.

0

Jeśli tabela była już utworzona, a ty byłeś wystarczająco leniwy, aby nie określać kolumn w polach wprowadzania nazw, wszystko co musisz zrobić, to wybrać puste kolumny po prawej stronie zawartości pliku i usunąć je.

1

Miał ten sam problem i wprowadził dwie zmiany: (a) nie nadpisał istniejących danych (nie jest to idealne rozwiązanie, ale można wcześniej uruchomić kwerendę usuwania) i (b) zliczył kolumny i znalazł że csv miał pustą kolumnę, więc zawsze opłaca się powrócić do pierwotnej pracy, mimo że wszystkie "wydaje się" wyglądać poprawnie.

0

Miałem podobny problem z phpmyAdmin. Liczba kolumn w importowanym pliku była zgodna z kolumnami tabeli docelowej bazy danych. Próbowałem importować pliki w obu formatach .csv i .ods bezskutecznie, otrzymując różne błędy, w tym jeden argumentujący, że liczba kolumn była błędna.

Zarówno pliki .csv, jak i .ods zostały utworzone za pomocą LibreOffice 5.204. Bazując na odrobinie doświadczenia z problemami z importowaniem w przeszłości, postanowiłem przerobić pliki za pomocą gnumerycznego arkusza kalkulacyjnego, eksportując pliki .ods zgodnie ze standardem "ścisłego" formatu. Voila! Nigdy więcej problemu z importem. Chociaż nie miałem czasu zbadać problemu dalej, podejrzewam, że coś się zmieniło w wewnętrznej strukturze pliku wyjściowego LibreOffice.

Powiązane problemy