[英]What's the best way to insert data from dbfpy into 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)。 我插入此數據的最佳方法是什么?
我認為您可以將cur.execute()
行中的rec
替換為
tuple(rec) + (concept_id,)
哦,別忘了再添加一個%s
。
如果任何字段是字符串,則需要將它們用引號引起來,以使SQL有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.