Eu tenho um arquivo CSV. Ele contém 1,4 milhão de linhas de dados, então não posso abrir esse arquivo csv no Excel porque seu limite é de cerca de 1 milhão de linhas.
Portanto, desejo importar este arquivo no ambiente de trabalho MySQL. Este arquivo csv contém colunas como
"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"
Estou tentando criar uma tabela no ambiente de trabalho MySQL denominada "dummy" contendo colunas como
ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp.
O arquivo CSV é nomeado model.csv
. Meu código no workbench é assim:
LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n';
mas estou recebendo um erro como model.CSV file not found
Respostas:
Acho que está faltando a cláusula 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';
E especifique o caminho completo do arquivo csv
Load Data Infile - documentação do MySQL
fonte
'//path//to//your//csv//file//model.csv'
e todos os campos contendo barras simples quebraram.Caso você tenha um conjunto de dados menor, uma maneira de obtê-lo por meio da GUI é:
Referência: http://www.youtube.com/watch?v=tnhJa_zYNVY
fonte
No navegador em ESQUEMAS, clique com o botão direito em seu esquema / banco de dados e selecione "Assistente de importação de dados de tabela"
Funciona para mac também.
fonte
Você pode usar o MySQL Table Data Import Wizard
fonte
No momento não é possível importar um CSV (usando MySQL Workbench) em todas as plataformas, nem é aconselhado se o referido arquivo não residir no mesmo host do servidor MySQL.
No entanto, você pode usar mysqlimport .
Exemplo:
mysqlimport --local --compress --user=username --password --host=hostname \ --fields-terminated-by=',' Acme sales.part_*
Neste exemplo,
mysqlimport
é instruído a carregar todos os arquivos denominados "vendas" com uma extensão começando com "part_". Esta é uma maneira conveniente de carregar todos os arquivos criados no exemplo de "divisão". Use a opção --compress para minimizar o tráfego de rede. A opção --fields-terminated-by = ',' é usada para arquivos CSV e a opção --local especifica que os dados recebidos estão localizados no cliente. Sem a opção --local, o MySQL procurará os dados no host do banco de dados, portanto, sempre especifique a opção --local.Há informações úteis sobre o assunto na documentação do AWS RDS .
fonte
Se o servidor residir em uma máquina remota, certifique-se de que o arquivo esteja na máquina remota e não na máquina local.
Se o arquivo estiver na mesma máquina em que o servidor mysql está, certifique-se de que o usuário mysql tenha permissão para ler / gravar o arquivo ou copie o arquivo para o diretório de esquema mysql:
No meu caso no ubuntu era: /var/lib/mysql/db_myschema/myfile.csv
Além disso, não é relativo a este problema, mas se você tiver problemas com as novas linhas, use sublimeTEXT para alterar os finais de linha para o formato WINDOWS, salve o arquivo e tente novamente.
fonte
Parece um pouco complicado, já que realmente me incomodava há muito tempo.
Você só precisa abrir a mesa (clique com o botão direito em "Select Rows- Limit 10000") e você abrirá uma nova janela. Nesta nova janela, você encontrará "ícone de importação".
fonte