0
我想導出csv文件到MySQL,每次我嘗試打印時收到此錯誤。 任何幫助將是appreciated.I現在不要我要去哪裏錯了..UnicodeEncodeError:'ascii'編解碼器無法編碼時,導出csv到mysql
reader = csv.reader(open(csvfile, 'r'))
for row in reader:
print row
try:
(location_id, vrm, valid_datetime) = row
except:
print "Error with row: " % row
#sys.exit(3)
# Hack for Roseburys
if (location_id == 262):
location_id = "198"
if (location_id == "262"):
location_id = "198"
tmp = valid_datetime.split(" ")
valid_date = tmp[0]
# Tidy up the VRM
vrm = vrm.replace(' ', '')
vrm = vrm.upper()
tmp = valid_date.split('/')
iso_date = "%s-%s-%s" % (tmp[2], tmp[1], tmp[0])
entryDatetime = "%s 00:00:00" % iso_date
expiryDatetime = "%s 23:59:59" % iso_date
sql_local = """INSERT INTO customer_1.pay_and_display
(plate, machine_id, ticket_datetime, expiry_datetime, ticket_name, ticket_price)
VALUES ("%s", "%s", "%s", "%s", "%s", "%s") """ % (vrm, location_id, entryDatetime, expiryDatetime, "WL", 0)
print sql_local
cursor.execute(sql_local)
這是一個很常見錯誤消息,它可能是最好的嘗試瞭解潛在的問題,而不是讓別人給你一個可能的一次性修復這個特定的代碼。我建議閱讀[Unicode指導方針](http://docs.python.org/2/howto/unicode.html)瞭解這條消息實際上試圖告訴你什麼。 Joel Spolsky的[本文](http://www.joelonsoftware.com/articles/Unicode.html)是另一個備受好評的資源。 –
提供完整的追溯。不相關:不要使用字符串格式來插入值(不要:'cursor.execute(「...%s」%value)'),而是使用參數化查詢:'cursor.execute(「...%s 「,(價值,))' – jfs