Convertir CSV en SQLite
Déposez votre fichier CSV pour obtenir un script SQLite avec des instructions CREATE TABLE et INSERT. Chaque colonne reçoit un type, et chaque correction est listée avec sa ligne et sa colonne.
5 lignes converties, 8 corrections, aucune rejetée
| Ligne | ||||||
|---|---|---|---|---|---|---|
| 5 | 00412 | Peña Muñoz | Mérida | 15/02/2024 | 1.234,50 | sí |
| 6 | 00413 | José Ángel Ruiz | León | 03/02/2024 | 99,90 | no |
| 7 | 00414 | Zoë Ortíz | Querétaro | 29/02/2024 | N/A | sí |
| 8 | 00415 | Ñuño Castañeda | Oaxaca | 28/02/2024 | 7,25 | no |
| 9 | 00416 | Iñaki Olaizola | Mazatlán | 11/03/2024 | 980,75 | sí |
-- 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;
Corrections
- Le fichier était encodé en windows‑1252 ; il a été converti en UTF-8.
- L'en-tête est à la ligne 4 ; les lignes au-dessus ont été écartées.
- La ligne 10 ("TOTAL") est un total, elle a donc été écartée.
- Zéros initiaux conservés dans "Folio" : 00412 reste 00412, enregistré en texte.
- 15/02/2024 prouve que les dates de "Fecha" commencent par le jour, donc 03/02/2024 est lu comme 2024‑02‑03.
- Les nombres de "Importe" utilisent une virgule décimale : 1.234,50 est lu comme 1234.50.
- N/A dans "Importe" lus comme vides (1 sur 5 valeurs).
- "Pagado" contient des mots oui et non (sí, no), enregistrés en booléen.
Votre fichier est converti sur cet ordinateur et n'est jamais envoyé.
Autres exemples :
De CSV à SQLite, colonne par colonne
L'exemple ci-dessus, ventas_2024.csv, tel qu'IntoSQL l'écrit pour SQLite : ce que contient chaque colonne du fichier, le type qu'elle reçoit et comment sa première valeur apparaît dans le script.
| Dans le fichier | Première valeur | Colonne | Type SQLite | Dans le script |
|---|---|---|---|---|
| Folio | 00412 | folio | TEXT | '00412' |
| Cliente | Peña Muñoz | cliente | TEXT | 'Peña Muñoz' |
| Ciudad | Mérida | ciudad | TEXT | 'Mérida' |
| Fecha | 15/02/2024 | fecha | DATE | '2024-02-15' |
| Importe | 1.234,50 | importe | NUMERIC(6,2) | 1234.50 |
| Pagado | sí | pagado | BOOLEAN | 1 |
Charger le script dans SQLite
Le téléchargement est un simple fichier .sql. Exécutez-le avec les outils de SQLite.
Depuis un terminal
sqlite3 ventas_2024.db < ventas_2024.sqlite.sqlLe fichier de base de données est créé s'il n'existe pas. Le convertisseur télécharge aussi une base .sqlite prête, sans aucune commande.
Depuis un outil de base de données
Dans DB Browser for SQLite, choisissez Execute SQL, ouvrez le script et exécutez-le.
Sans script
La ligne de commande charge le fichier directement dans une base SQLite, sans écrire de script. C'est gratuit.
intosql load ventas_2024.csv --into ventas_2024.dbBon à savoir sur les fichiers CSV et SQLite
Ce qu'IntoSQL lit dans les fichiers CSV
- L'encodage est détecté, Windows-1252 et UTF-16 compris, donc les accents et le ñ arrivent intacts.
- Le séparateur est détecté : virgule, point-virgule, tabulation ou barre verticale. Avec un point-virgule, les virgules décimales comme 1.234,50 sont lues comme des nombres.
- Les valeurs entre guillemets peuvent contenir des séparateurs et des sauts de ligne.
Bon à savoir sur SQLite
- Chaque colonne reçoit le type dont ses valeurs ont besoin, comme INTEGER, NUMERIC, TEXT, DATE ou BOOLEAN ; oui et non sont stockés comme 1 et 0.
- Les décimaux de plus de 15 chiffres restent en TEXT, donc aucun chiffre n'est perdu par arrondi.
- Téléchargez le script SQLite, ou une base de données .sqlite prête, créée dans votre navigateur.
Comment chaque type de valeur est stocké dans SQLite
| Valeur | SQLite |
|---|---|
| Oui et non | BOOLEAN |
| Nombres entiers | INTEGER |
| Grands nombres entiers | INTEGER |
| Décimaux | NUMERIC(p,s)TEXT |
| Nombres à virgule flottante | REAL |
| Dates | DATE |
| Heures | TIME |
| Dates avec heure | DATETIME |
| Dates avec heure et décalage | DATETIME |
| Texte | TEXT |
Questions sur CSV vers SQLite
Pas de réponse ici ? Écrivez-nous depuis la page de contact, une personne vous répond. Page de contact
Comment convertir CSV en SQLite ?
Déposez votre fichier sur le convertisseur en haut de cette page. Il trouve l'en-tête, lit chaque valeur et écrit le script SQLite, en listant chaque correction. Téléchargez le script et exécutez-le avec sqlite3.
Et si mon CSV utilise des points-virgules ou des tabulations ?
Le séparateur est détecté : virgule, point-virgule, tabulation ou barre verticale. Vous pouvez aussi le régler dans Plus d'options. Avec un point-virgule, les virgules décimales comme 1.234,50 sont lues comme des nombres.
Quels types SQLite utilise-t-il ?
Les valeurs oui et non deviennent BOOLEAN, les nombres entiers INTEGER, les décimaux NUMERIC(p,s), les dates DATE, les dates avec heure DATETIME et le texte TEXT. Les tailles viennent de la valeur la plus longue de chaque colonne.
Garde-t-il les zéros en tête dans SQLite ?
Oui. Un code comme 00412 reste du texte, donc SQLite le stocke en TEXT et le script l'écrit '00412'.
Peut-il charger les données dans SQLite sans script ?
Oui, gratuitement : intosql load crée le fichier de base SQLite et y charge les lignes. Le convertisseur de cette page télécharge aussi une base .sqlite prête.
Quelle taille peut avoir le fichier CSV ?
Le navigateur lit le CSV au fil de l'eau, donc des fichiers de plusieurs gigaoctets fonctionnent. Sur un portable Apple M4, la ligne de commande convertit un CSV de 174 Mo d'un million de lignes en moins d'une seconde.