CSV を SQLite に変換
CSV ファイルをドロップすると、CREATE TABLE と INSERT 文を含む SQLite 用のスクリプトができます。各列に型を付け、すべての修正を行と列とともに一覧にします。
5 行を変換、修正 8 件、却下なし
| 行 | ||||||
|---|---|---|---|---|---|---|
| 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;
修正
- ファイルは windows‑1252 で書かれていたため、UTF-8 に変換しました。
- ヘッダーは 4 行目にあります。その上の行は含めていません。
- 10 行目 ("TOTAL") は合計のため、含めていません。
- "Folio" の先頭のゼロを保持しました。00412 は 00412 のまま、テキストとして保存します。
- 15/02/2024 から "Fecha" の日付は日が先とわかるため、03/02/2024 は 2024‑02‑03 として読み取ります。
- "Importe" の数値は小数点にカンマを使っています。1.234,50 は 1234.50 として読み取ります。
- "Importe" の N/A を空として読み取りました(5 件中 1 件)。
- "Pagado" には「はい/いいえ」の語 (sí, no) があるため、ブール値として保存しました。
ファイルはこのコンピューター上で変換され、アップロードされることはありません。
その他のサンプル:
CSV から SQLite へ、列ごとに
上のサンプル ventas_2024.csv を IntoSQL が SQLite 用に書き出した結果です。各列のファイル内の内容、付く型、最初の値がスクリプトでどうなるかを示します。
| ファイル内 | 最初の値 | 列 | SQLite の型 | スクリプト内 |
|---|---|---|---|---|
| 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 |
スクリプトを SQLite に読み込む
ダウンロードされるのは普通の .sql ファイルです。SQLite 付属のツールで実行してください。
ターミナルから
sqlite3 ventas_2024.db < ventas_2024.sqlite.sqlデータベースファイルがなければ作成されます。コンバーターでは、コマンドを使わずにそのまま使える .sqlite データベースもダウンロードできます。
データベースツールから
DB Browser for SQLite では、Execute SQL を選び、スクリプトを開いて実行します。
スクリプトを使わずに
コマンドラインなら、ファイルを SQLite データベースに直接読み込めます。スクリプトを書き出す必要はなく、無料です。
intosql load ventas_2024.csv --into ventas_2024.dbCSV ファイルと SQLite について知っておくこと
IntoSQL が CSV ファイルから読み取るもの
- Windows-1252 や UTF-16 を含め文字コードを判別するので、アクセント記号や ñ もそのまま届きます。
- 区切り文字を判別します。カンマ、セミコロン、タブ、縦線に対応しています。セミコロン区切りでは、1.234,50 のような小数点のカンマを数値として読み取ります。
- 引用符で囲まれた値には、区切り文字や改行を含められます。
SQLite について知っておくこと
- 各列には値に必要な型が付きます。INTEGER、NUMERIC、TEXT、DATE、BOOLEAN などで、はい/いいえは 1 と 0 として保存されます。
- 15 桁を超える小数は TEXT のままなので、丸めで失われる桁はありません。
- SQLite のスクリプト、またはブラウザ上で作成された .sqlite データベースをダウンロードできます。
SQLite で各種類の値がどう保存されるか
| 値 | SQLite |
|---|---|
| はい/いいえ | BOOLEAN |
| 整数 | INTEGER |
| 大きな整数 | INTEGER |
| 小数 | NUMERIC(p,s)TEXT |
| 浮動小数点数 | REAL |
| 日付 | DATE |
| 時刻 | TIME |
| 日付と時刻 | DATETIME |
| 日付と時刻、時差付き | DATETIME |
| テキスト | TEXT |
CSV から SQLite への変換に関する質問
ここに答えがない場合は、お問い合わせページからご連絡ください。担当者が返信します。 お問い合わせページ
CSV を SQLite に変換するには?
このページ上部のコンバーターにファイルをドロップしてください。ヘッダーを見つけ、すべての値を読み取り、行った修正を一覧にしながら SQLite 用のスクリプトを書き出します。スクリプトをダウンロードし、sqlite3 で実行してください。
CSV の区切りがセミコロンやタブの場合は?
区切り文字はカンマ、セミコロン、タブ、縦線から自動で検出されます。「その他のオプション」で指定することもできます。セミコロン区切りでは、1.234,50 のような小数点カンマも数値として読み取ります。
SQLite ではどの型を使いますか?
はい/いいえの値は BOOLEAN、整数は INTEGER、小数は NUMERIC(p,s)、日付は DATE、時刻付きの日付は DATETIME、テキストは TEXT になります。サイズは各列の最も長い値から決まります。
SQLite で先頭のゼロは残りますか?
はい。00412 のようなコードはテキストのまま扱われるため、SQLite では TEXT として保存され、スクリプトには '00412' と書かれます。
スクリプトを使わずに SQLite にデータを読み込めますか?
はい、無料でできます。intosql load が SQLite データベースファイルを作成し、行を読み込みます。このページのコンバーターでも、そのまま使える .sqlite データベースをダウンロードできます。
CSV ファイルはどのくらいの大きさまで扱えますか?
ブラウザは CSV を流れてくる順に読むため、数 GB のファイルも扱えます。Apple M4 のノートパソコンでは、コマンドラインが 100 万行・174 MB の CSV を 1 秒未満で変換します。