Saltar al contenido

Convertir CSV a SQLite

Suelta tu archivo CSV y obtén un script de SQLite con sentencias CREATE TABLE e INSERT. Cada columna recibe un tipo, y cada corrección se detalla con su fila y columna.

Tu archivo
csvventas_2024.csvArchivo de ejemplo, 357 B
Tu base de datos

5 filas convertidas, 8 correcciones, ninguna rechazada

Mostrar
Las primeras filas de ventas_2024.csv, con cada corrección marcada
Fila
500412Peña MuñozMérida15/02/20241.234,50sí
600413José Ángel RuizLeón03/02/202499,90no
700414Zoë OrtízQuerétaro29/02/2024N/Así
800415Ñuño CastañedaOaxaca28/02/20247,25no
900416Iñaki OlaizolaMazatlán11/03/2024980,75sí
-- Written by IntoSQL for SQLite.

BEGIN;

CREATE TABLE ventas_2024 (
    folio TEXT NOT NULL,
    cliente TEXT NOT NULL,
    ciudad TEXT NOT NULL,
    fecha DATE NOT NULL,
    importe NUMERIC(6,2),
    pagado BOOLEAN NOT NULL
);

INSERT INTO ventas_2024 (folio, cliente, ciudad, fecha, importe, pagado) VALUES
('00412', 'Peña Muñoz', 'Mérida', '2024-02-15', 1234.50, 1),
('00413', 'José Ángel Ruiz', 'León', '2024-02-03', 99.90, 0),
('00414', 'Zoë Ortíz', 'Querétaro', '2024-02-29', NULL, 1),
('00415', 'Ñuño Castañeda', 'Oaxaca', '2024-02-28', 7.25, 0),
('00416', 'Iñaki Olaizola', 'Mazatlán', '2024-03-11', 980.75, 1);

COMMIT;

Correcciones

  1. El archivo estaba escrito en windows‑1252; se convirtió a UTF-8.
  2. El encabezado está en la fila 4; las filas de arriba se dejaron fuera.
  3. La fila 10 ("TOTAL") es un total, así que se dejó fuera.
  4. Se conservaron los ceros a la izquierda en "Folio": 00412 sigue siendo 00412, guardado como texto.
  5. 15/02/2024 demuestra que las fechas de "Fecha" llevan el día primero, así que 03/02/2024 se lee como 2024‑02‑03.
  6. Los números de "Importe" usan coma decimal: 1.234,50 se lee como 1234.50.
  7. N/A en "Importe" se leyeron como vacíos (1 de 5 valores).
  8. "Pagado" contiene palabras de sí y no (sí, no); se guarda como booleano.

Tu archivo se convierte en esta computadora y nunca se sube.

Otros ejemplos:

De CSV a SQLite, columna por columna

El ejemplo de arriba, ventas_2024.csv, tal como IntoSQL lo escribe para SQLite: qué contiene cada columna en el archivo, qué tipo recibe y cómo queda su primer valor en el script.

En el archivoPrimer valorColumnaTipo en SQLiteEn el script
Folio00412folioTEXT'00412'
ClientePeña MuñozclienteTEXT'Peña Muñoz'
CiudadMéridaciudadTEXT'Mérida'
Fecha15/02/2024fechaDATE'2024-02-15'
Importe1.234,50importeNUMERIC(6,2)1234.50
PagadosípagadoBOOLEAN1

Carga el script en SQLite

La descarga es un archivo .sql simple. Ejecútalo con las herramientas propias de SQLite.

Desde una terminal

sqlite3 ventas_2024.db < ventas_2024.sqlite.sql

El archivo de la base de datos se crea si no existe. El convertidor también descarga una base de datos .sqlite lista, sin ningún comando.

Desde una herramienta de base de datos

En DB Browser for SQLite, elige Execute SQL, abre el script y ejecútalo.

Sin script

La línea de comandos carga el archivo directo en una base de datos SQLite, sin escribir un script. Es gratis.

intosql load ventas_2024.csv --into ventas_2024.db

Qué saber sobre los archivos CSV y SQLite

Qué lee IntoSQL en los archivos CSV

  • La codificación se detecta, incluidas Windows-1252 y UTF-16, así que los acentos y la ñ llegan intactos.
  • El separador se detecta: coma, punto y coma, tabulador o barra vertical. Con punto y coma, las comas decimales como 1.234,50 se leen como números.
  • Los valores entre comillas pueden contener separadores y saltos de línea.

Qué saber sobre SQLite

  • Cada columna recibe el tipo que necesitan sus valores, como INTEGER, NUMERIC, TEXT, DATE o BOOLEAN; sí y no se guardan como 1 y 0.
  • Los decimales con más de 15 dígitos se quedan como TEXT, así que ningún dígito se pierde por redondeo.
  • Descarga el script de SQLite, o una base de datos .sqlite lista, creada en tu navegador.

Cómo se guarda cada tipo de valor en SQLite

ValorSQLite
Sí y noBOOLEAN
Números enterosINTEGER
Números enteros grandesINTEGER
DecimalesNUMERIC(p,s)TEXT
Números de punto flotanteREAL
FechasDATE
Horas del díaTIME
Fechas con horaDATETIME
Fechas con hora y zona horariaDATETIME
TextoTEXT

Preguntas sobre CSV a SQLite

¿No encuentras la respuesta? Escríbenos desde la página de contacto y te responde una persona. Página de contacto

¿Cómo convierto CSV a SQLite?

Suelta tu archivo en el convertidor al inicio de esta página. Encuentra el encabezado, lee cada valor y escribe el script de SQLite, con la lista de cada corrección que hizo. Descarga el script y ejecútalo con sqlite3.

¿Y si mi CSV usa punto y coma o tabuladores?

El separador se detecta: coma, punto y coma, tabulador o barra vertical. También puedes elegirlo en Más opciones. Con punto y coma, las comas decimales como 1.234,50 se leen como números.

¿Qué tipos de SQLite usa?

Los valores sí y no pasan a BOOLEAN, los enteros a INTEGER, los decimales a NUMERIC(p,s), las fechas a DATE, las fechas con hora a DATETIME y el texto a TEXT. Los tamaños salen del valor más largo de cada columna.

¿Conserva los ceros a la izquierda en SQLite?

Sí. Un código como 00412 se queda como texto, así que SQLite lo guarda como TEXT y el script lo escribe como '00412'.

¿Puede cargar los datos en SQLite sin un script?

Sí, gratis: intosql load crea el archivo de la base de datos SQLite y carga las filas. El convertidor de esta página también descarga una base de datos .sqlite lista.

¿Qué tan grande puede ser el archivo CSV?

El navegador lee el CSV a medida que llega, así que funcionan archivos de varios gigabytes. En una laptop con Apple M4, la línea de comandos convierte un CSV de 174 MB con un millón de filas en menos de un segundo.