Mam plik CSV. Zawiera 1,4 miliona wierszy danych, więc nie mogę otworzyć tego pliku csv w programie Excel, ponieważ jego limit wynosi około 1 miliona wierszy.
Dlatego chcę zaimportować ten plik do środowiska roboczego MySQL. Ten plik CSV zawiera kolumny takie jak
"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"
Próbuję utworzyć tabelę w środowisku roboczym MySQL o nazwie „dummy” zawierającej kolumny takie jak
ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp.
Plik CSV nosi nazwę model.csv
. Mój kod w środowisku roboczym wygląda tak:
LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n';
ale pojawia się błąd podobny do model.CSV file not found
Odpowiedzi:
Myślę, że brakuje ci klauzuli ENCLOSED BY
LOAD DATA LOCAL INFILE '/path/to/your/csv/file/model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
I podaj pełną ścieżkę do pliku csv
Load Data Infile - dokumentacja MySQL
źródło
'//path//to//your//csv//file//model.csv'
i wszystkie pola zawierające pojedyncze ukośniki pękały.Jeśli masz mniejszy zestaw danych, sposobem na osiągnięcie tego przez GUI jest:
Źródła: http://www.youtube.com/watch?v=tnhJa_zYNVY
źródło
W nawigatorze pod SCHEMATAMI kliknij prawym przyciskiem myszy schemat / bazę danych i wybierz „Kreator importu danych tabeli”
Działa również na Maca.
źródło
Możesz użyć Kreatora importu danych tabeli MySQL
źródło
W tej chwili nie jest możliwe zaimportowanie pliku CSV (przy użyciu MySQL Workbench) na wszystkich platformach, ani nie jest zalecane, jeśli wspomniany plik nie znajduje się na tym samym hoście co serwer MySQL.
Możesz jednak użyć mysqlimport .
Przykład:
mysqlimport --local --compress --user=username --password --host=hostname \ --fields-terminated-by=',' Acme sales.part_*
W tym przykładzie
mysqlimport
poinstruowano, aby załadować wszystkie pliki o nazwie „sprzedaż” z rozszerzeniem rozpoczynającym się od „część_”. Jest to wygodny sposób załadowania wszystkich plików utworzonych w przykładzie „podzielenia”. Użyj opcji --compress, aby zminimalizować ruch w sieci. Opcja --fields-terminated-by = ',' jest używana dla plików CSV, a opcja --local określa, że przychodzące dane znajdują się na kliencie. Bez opcji --local MySQL będzie szukał danych na hoście bazy danych, więc zawsze określaj opcję --local.Przydatne informacje na ten temat można znaleźć w dokumentacji AWS RDS .
źródło
Jeśli serwer znajduje się na komputerze zdalnym, upewnij się, że plik znajduje się na komputerze zdalnym, a nie na komputerze lokalnym.
Jeśli plik znajduje się na tej samej maszynie, na której znajduje się serwer mysql, upewnij się, że użytkownik mysql ma uprawnienia do odczytu / zapisu pliku lub skopiuj plik do katalogu schematu mysql:
W moim przypadku w ubuntu było to: /var/lib/mysql/db_myschema/myfile.csv
Również nie w odniesieniu do tego problemu, ale jeśli masz problemy z nowymi liniami, użyj sublimeTEXT, aby zmienić zakończenia linii na format WINDOWS, zapisz plik i spróbuj ponownie.
źródło
Wydaje się to trochę trudne, ponieważ naprawdę przeszkadzało mi to przez długi czas.
Wystarczy, że otworzysz tabelę (kliknij prawym przyciskiem myszy „Wybierz wiersze - Limit 10000”), a otworzysz nowe okno. W nowym oknie znajdziesz „ikonę importu”.
źródło