簡體   English   中英

如何將csv文件中的數據插入sqlite數據庫?

[英]how to insert the data from csv file into sqlite db?

格式為csv文件。

x1  0  1  3  6
x2  4  9  4  5
x3  8  6  7  1

我想將其插入數據庫,並在以下數據中添加三個字段“ x1”,“ x2”,“ x3”。

x1|x2|x3
0|4|8
1|9|6
3|10|7
6|5|1

我認為讀取csv文件時必須轉換數據。

import sqlite3
db="test.sqlite"
con = sqlite3.connect(db)
cur = con.cursor()
dat=open("data","r")
for id,line in enumerate(dat.readlines()):
    ?

con.executemany('insert into test values(?,?,?)', value)

如何在這里獲得正確的價值格式?

zip(*rows)轉置數據,刪除第一行,並使用.executemany()調用插入:

import csv
import sqlite3

with open('data', 'r', newline='') as infh:
    rows = list(csv.reader(infh))
    columns = zip(*rows)
    next(columns, None)  # skip the first column

    with sqlite3.connect('test.sqlite') as conn:
        cursor = conn.cursor()
        cursor.executemany('insert into test values (?, ?, ?)', columns)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM