从dbfpy向MySQL插入数据的最佳方法是什么?

2024-10-03 02:42:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用dbfpy module从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)的一部分。我插入这些数据的最佳方式是什么?在


Tags: 数据importidconfigdbosmysqldiscount
2条回答

我认为您可以将cur.execute()行中的rec替换为

tuple(rec) + (concept_id,)

哦,别忘了再加一个%s。在

如果有任何字段是字符串,则需要用引号将它们括起来才能使SQL有效。在

相关问题 更多 >