将数据从dbfpy插入到MySQL中的最佳方式是什么?

问题描述:

我正在使用dbfpy module从DBF文件读取数据,目的是将相同的数据写入等效的MySQL表。这里是我的代码一个粗略的版本:将数据从dbfpy插入到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)的一部分。我插入这些数据的最佳方式是什么?

我想你可以在cur.execute()符合

tuple(rec) + (concept_id,)

哦更换rec,不要忘了添加一个%s它。

如果任何字段都是字符串,则需要将它们包含在引号中以使SQL有效。