作者:手机用户2502856053 | 来源:互联网 | 2023-02-13 17:43
我正在尝试使用python将csv导入sqlite表,并使用csv文件中的标头成为sqlite表中的标头。该代码将运行,但是似乎未创建表“ MyTable”。这是代码:
with open ('dict_output.csv', 'r') as f:
reader = csv.reader(f)
columns = next(reader)
#Strips white space in header
columns = [h.strip() for h in columns]
#reader = csv.DictReader(f, fieldnames=columns)
for row in reader:
print(row)
con = sqlite3.connect("city_spec.db")
cursor = con.cursor()
#Inserts data from csv into table in sql database.
query = 'insert into MyTable({0}) values ({1})'
query = query.format(','.join(columns), ','.join('?' * len(columns)))
print(query)
cursor = con.cursor()
for row in reader:
cursor.execute(query, row)
#cursor.commit()
con.commit()
con.close()
在此先感谢您的帮助。
1> sundance..:
您可以使用Pandas简化此操作(您可能需要pip install pandas
先进行操作):
import sqlite3
import pandas as pd
# load data
df = pd.read_csv('dict_output.csv')
# strip whitespace from headers
df.columns = df.columns.str.strip()
con = sqlite3.connect("city_spec.db")
# drop data into database
df.to_sql("MyTable", con)
con.close()
熊猫会为您完成所有艰苦的工作,包括创建实际的表格!