Tengo un archivo CSV. Contiene 1,4 millones de filas de datos, por lo que no puedo abrir ese archivo csv en Excel porque su límite es de aproximadamente 1 millón de filas.
Por lo tanto, quiero importar este archivo en MySQL workbench. Este archivo csv contiene columnas como
"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"
Estoy tratando de crear una tabla en MySQL workbench llamada "ficticia" que contiene columnas como
ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp.
El archivo CSV se llama model.csv
. Mi código en el banco de trabajo es así:
LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by '\n';
pero recibo un error como model.CSV file not found
Respuestas:
Supongo que te falta la 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';
Y especifique la ruta completa del archivo csv
Load Data Infile - documentación de MySQL
fuente
'//path//to//your//csv//file//model.csv'
y todos los campos que contenían barras simples se rompieron.En caso de que tenga un conjunto de datos más pequeño, una forma de lograrlo mediante GUI es:
Referencia: http://www.youtube.com/watch?v=tnhJa_zYNVY
fuente
En el navegador bajo ESQUEMAS, haga clic derecho en su esquema / base de datos y seleccione "Asistente de importación de datos de tabla"
También funciona para mac.
fuente
Puede usar el Asistente de importación de datos de tablas MySQL
fuente
Por el momento no es posible importar un CSV (usando MySQL Workbench) en todas las plataformas, ni se aconseja si dicho archivo no reside en el mismo host que el host del servidor MySQL.
Sin embargo, puede utilizar mysqlimport .
Ejemplo:
mysqlimport --local --compress --user=username --password --host=hostname \ --fields-terminated-by=',' Acme sales.part_*
En este ejemplo,
mysqlimport
se le indica que cargue todos los archivos denominados "ventas" con una extensión que comienza con "part_". Esta es una forma conveniente de cargar todos los archivos creados en el ejemplo "dividido". Utilice la opción --compress para minimizar el tráfico de red. La opción --fields-terminated-by = ',' se usa para archivos CSV y la opción --local especifica que los datos entrantes se encuentran en el cliente. Sin la opción --local, MySQL buscará los datos en el host de la base de datos, así que siempre especifique la opción --local.Hay información útil sobre el tema en la documentación de AWS RDS .
fuente
Si el servidor reside en una máquina remota, asegúrese de que el archivo esté en la máquina remota y no en su máquina local.
Si el archivo está en la misma máquina donde está el servidor mysql, asegúrese de que el usuario mysql tenga permisos para leer / escribir el archivo, o copie el archivo en el directorio del esquema mysql:
En mi caso en ubuntu fue: /var/lib/mysql/db_myschema/myfile.csv
Además, no es relativo a este problema, pero si tiene problemas con las nuevas líneas, use sublimeTEXT para cambiar los finales de línea al formato WINDOWS, guarde el archivo y vuelva a intentarlo.
fuente
Parece un poco complicado ya que realmente me había molestado durante mucho tiempo.
Solo necesita abrir la tabla (haga clic derecho en "Seleccionar filas - Límite de 10000") y se abrirá una nueva ventana. En esta nueva ventana, encontrará "icono de importación".
fuente