[英]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.