我试图使用python从mysql数据库中提取一些数据,但是我遇到了特殊字符的问题(数据是FR,ES,De和IT语言中的字符串)。每当一个单词有一个特殊字符(如重音á等)时,文件中没有正确编码(我正在用提取的数据创建一个csv) 这是我正在使用的代码
import mysql.connector
if __name__ == '__main__':
cnx = mysql.connector.connect(user='user', password='psswrd',
host='slave',
database='DB',
buffered=True)
us_id_list = ['496305']
f = open('missing_cat_mappings.csv', 'w')
for (us_id) in us_id_list:
print us_id
mapping_cursor = cnx.cursor()
query = (format(user_id=us_id,))
success = False
fails = 0
while not success:
try:
print "try" + str(fails)
mapping_cursor.execute(query)
success = True
except:
fails += 1
if fails > 10:
raise
for row in mapping_cursor:
f.write(str(row) + "\n")
mapping_cursor.close()
f.close()
cnx.close()
我补充说:
#!/usr/bin/python
# vim: set fileencoding=<UTF-8> :
在开始但没有任何区别。
答案 0 :(得分:0)
基本上,您需要open
二进制模式的CSV文件,'wb'
而不是文字模式'w'