CSV dosyalarını SQLite için dönüştürün
CSV dosyanızı bırakın, CREATE TABLE ve INSERT ifadeleri içeren bir SQLite betiği alın. Her sütuna bir tür verilir ve her düzeltme satırı ve sütunuyla listelenir.
5 satır dönüştürüldü, 8 düzeltme, reddedilen yok
| Satır | ||||||
|---|---|---|---|---|---|---|
| 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;
Düzeltmeler
- Dosya windows‑1252 ile kodlanmıştı; UTF-8'e dönüştürüldü.
- Başlık 4. satırda; üstündeki satırlar dışarıda bırakıldı.
- 10. satır ("TOTAL") bir toplam; bu yüzden dışarıda bırakıldı.
- "Folio" içindeki baştaki sıfırlar korundu: 00412, 00412 olarak kalır ve metin olarak saklanır.
- 15/02/2024 değeri, "Fecha" içindeki tarihlerde günün önce geldiğini kanıtlıyor; bu yüzden 03/02/2024, 2024‑02‑03 olarak okunur.
- "Importe" içindeki sayılar ondalık virgül kullanıyor: 1.234,50, 1234.50 olarak okunur.
- "Importe" içindeki N/A boş olarak okundu (5 değerden 1).
- "Pagado" evet ve hayır sözcükleri içeriyor (sí, no); boolean olarak saklandı.
Dosyan bu bilgisayarda dönüştürülür ve asla yüklenmez.
Diğer örnekler:
CSV dosyasından SQLite için, sütun sütun
Yukarıdaki örnek ventas_2024.csv, IntoSQL'in SQLite için yazdığı haliyle: her sütunun dosyada ne tuttuğu, aldığı tür ve ilk değerinin betiğe nasıl yazıldığı.
| Dosyada | İlk değer | Sütun | SQLite türü | Betikte |
|---|---|---|---|---|
| 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 |
Betiği SQLite veritabanına yükleyin
İndirilen dosya düz bir .sql dosyasıdır. SQLite araçlarıyla çalıştırın.
Terminalden
sqlite3 ventas_2024.db < ventas_2024.sqlite.sqlVeritabanı dosyası yoksa oluşturulur. Dönüştürücü, hiç komut gerektirmeyen hazır bir .sqlite veritabanı da indirir.
Bir veritabanı aracından
DB Browser for SQLite'ta Execute SQL'i seçin, betiği açıp çalıştırın.
Betik olmadan
Komut satırı dosyayı doğrudan bir SQLite veritabanına yükler; betik yazmanız gerekmez. Ücretsizdir.
intosql load ventas_2024.csv --into ventas_2024.dbCSV dosyaları ve SQLite hakkında bilmeniz gerekenler
IntoSQL'in CSV dosyalarında okudukları
- Kodlama algılanır, Windows-1252 ve UTF-16 dahil; böylece aksanlı harfler ve ñ bozulmadan gelir.
- Ayırıcı algılanır: virgül, noktalı virgül, sekme veya dikey çizgi. Noktalı virgülle, 1.234,50 gibi ondalık virgüller sayı olarak okunur.
- Tırnak içindeki değerler ayırıcı ve satır sonu içerebilir.
SQLite hakkında bilmeniz gerekenler
- Her sütun, değerlerinin ihtiyaç duyduğu türü alır: INTEGER, NUMERIC, TEXT, DATE veya BOOLEAN gibi. Evet ve hayır 1 ve 0 olarak saklanır.
- 15 basamaktan uzun ondalık sayılar TEXT olarak kalır, böylece hiçbir basamak yuvarlamayla kaybolmaz.
- SQLite betiğini veya tarayıcınızda oluşturulan hazır bir .sqlite veritabanını indirin.
Her değer türü SQLite içinde nasıl saklanır
| Değer | SQLite |
|---|---|
| Evet ve hayır | BOOLEAN |
| Tam sayılar | INTEGER |
| Büyük tam sayılar | INTEGER |
| Ondalık sayılar | NUMERIC(p,s)TEXT |
| Kayan noktalı sayılar | REAL |
| Tarihler | DATE |
| Günün saatleri | TIME |
| Saatli tarihler | DATETIME |
| Saatli ve saat farkı olan tarihler | DATETIME |
| Metin | TEXT |
CSV dosyasından SQLite için sorular
Yanıtınızı bulamadınız mı? İletişim sayfasından bize yazın, bir kişi yanıt verir. İletişim sayfası
CSV dosyasını SQLite için nasıl dönüştürürüm?
Dosyanızı bu sayfanın üstündeki dönüştürücüye bırakın. Başlığı bulur, her değeri okur ve yaptığı her düzeltmeyi listeleyerek SQLite betiğini yazar. Betiği indirip sqlite3 ile çalıştırın.
CSV dosyam noktalı virgül veya sekme kullanıyorsa?
Ayırıcı algılanır: virgül, noktalı virgül, sekme veya dikey çizgi. Daha fazla seçenek altından da ayarlayabilirsiniz. Noktalı virgülle, 1.234,50 gibi ondalık virgüller sayı olarak okunur.
Hangi SQLite türlerini kullanır?
Evet/hayır değerleri BOOLEAN, tam sayılar INTEGER, ondalıklar NUMERIC(p,s), tarihler DATE, saatli tarihler DATETIME ve metin TEXT olur. Boyutlar her sütundaki en uzun değere göre belirlenir.
SQLite için baştaki sıfırları korur mu?
Evet. 00412 gibi bir kod metin olarak kalır; SQLite onu TEXT olarak saklar ve betik onu '00412' olarak yazar.
Verileri betik olmadan SQLite'a yükleyebilir mi?
Evet, ücretsiz: intosql load SQLite veritabanı dosyasını oluşturur ve satırları yükler. Bu sayfadaki dönüştürücü hazır bir .sqlite veritabanı da indirir.
CSV dosyası ne kadar büyük olabilir?
Tarayıcı CSV dosyasını akış halinde okur, bu yüzden birkaç gigabaytlık dosyalar çalışır. Apple M4'lü bir dizüstü bilgisayarda komut satırı bir milyon satırlık 174 MB'lık bir CSV dosyasını bir saniyeden kısa sürede dönüştürür.