Skip to main content
 首页 » 编程设计

python之csv 到 sqlite 表 python

2025年05月04日14jpfss

我试图使用 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() 

在此先感谢您的帮助。

请您参考如下方法:

您可以使用 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() 

Pandas 将为您完成所有艰苦的工作,包括创建实际的表格!