考虑动态构建查询,以确保占位符的数量与表和CSV文件格式匹配。然后,只需确保您的表和CSV文件正确无误,而不必检查您
?在代码中是否键入了足够的占位符。
以下示例假定
- CSV文件在第一行中包含列名称
- 连接已建立
- 档案名称为
test.csv
- 表名是
MyTable
Python 3
…
with open (‘test.csv’, ‘r’) as f:
reader = csv.reader(f)
columns = next(reader)
query = ‘insert into MyTable({0}) values ({1})’
query = query.format(‘,’.join(columns), ‘,’.join(‘?’ * len(columns)))
cursor = connection.cursor()
for data in reader:
cursor.execute(query, data)
cursor.commit()
如果文件中不包含列名:
...with open ('test.csv', 'r') as f: reader = csv.reader(f) data = next(reader) query = 'insert into MyTable values ({0})' query = query.format(','.join('?' * len(data))) cursor = connection.cursor() cursor.execute(query, data) for data in reader: cursor.execute(query, data) cursor.commit()


