Python 什么';将数据从dbfpy插入MySQL的最佳方式是什么?
我使用从DBF文件中读取数据,目的是将相同的数据写入等效的MySQL表。下面是我的代码的大致版本:Python 什么';将数据从dbfpy插入MySQL的最佳方式是什么?,python,mysql,mysql-python,dbf,Python,Mysql,Mysql Python,Dbf,我使用从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
###################
# 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()
行中的rec
替换为
tuple(rec)+(concept\u id,)
哦,别忘了为它再添加一个
%s
。如果任何字段是字符串,您需要将它们用引号括起来,SQL才有效