将dbfpy中的数据插入MySQL的最佳方法是什么?
我正在使用dbfpy模块来读取DBF文件中的数据,目的是把这些数据写入相应的MySQL表格。以下是我代码的大致版本:
###################
# BEGIN CONFIG
###################
import_root = '/Users/shawn/Dropbox/ITistic Inc/Digital Aspire/Clients/MVP/Automated Sales Report Project/pdq dbf export 1.30.2013'
concept_id = 1
###################
# END CONFIG
###################
import os
import datetime
from dbfpy import dbf
import MySQLdb
# Connect to MySQL
db = MySQLdb.connect('localhost', 'dbposireporting', 'posi', 'dbposireporting')
cur = db.cursor()
discount = dbf.Dbf(os.path.join(path, 'DISCOUNT.DBF'))
for rec in discount:
print rec['date']
print
# LINE BELOW NOT WORKING:
cur.execute("INSERT INTO discount VALUES (%s, %s, %s, %s, %s, %s)", rec)
discount.close()
db.close()
我想插入的MySQL表格里有一个额外的字段,我需要用脚本顶部设置的concept_id值来填充。这个值并不在DBF记录(rec)中。我该如何插入这些数据呢?
2 个回答
0
如果有任何字段是字符串类型,你需要把它们用引号括起来,这样SQL语句才有效。
0
我觉得你可以把 rec
替换成 cur.execute()
这一行里的
tuple(rec) + (concept_id,)
哦,还有别忘了再加一个 %s
。