从 csv 文件创建一个 sqlite 表

时间:2021-04-28 13:14:52

标签: python sqlite csv

我有一个 csv 文件,正在尝试使用该数据创建一个 sqlite 数据库。

csv 基本上是这样的:

genre,singer,singer_email,enrol_datetime,Last booking made on
Blues | Craig Phillip,craig@gmailcom,2018-05-20,2021-03-03

我尝试关注 this,这就是我的想法。我做错了什么?

import csv, sqlite3

con = sqlite3.connect("sqlite:///data.db") 
cur = con.cursor()
cur.execute("CREATE TABLE t (genre, singer, singer_email, enrol_datetime, last_booking);") 

with open('data.csv','r') as fin: 
    dr = csv.DictReader(fin)
    to_db = [(i['genre'], i['singer'], i['singer_email'],i['enrol_datetime'],i['last_booking']) for i in dr]

cur.executemany("INSERT INTO t (genre, singer, singer_email,  enrol_datetime, last_booking) VALUES (?, ?, ?, ?, ?);", to_db)
con.commit()
con.close()

这是错误

Traceback (most recent call last):
  File "create_sqlite_database.py", line 3, in <module>
    con = sqlite3.connect("sqlite:///data.db")
sqlite3.OperationalError: unable to open database file

1 个答案:

答案 0 :(得分:1)

按照sqlite3 API reference,只需输入数据库名称,错误就会消失。

con = sqlite3.connect("data.db")

相关问题