如何在python

时间:2016-11-28 08:18:30

标签: python encoding utf-8 mysql-connector

我试图使用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> :

在开始但没有任何区别。

1 个答案:

答案 0 :(得分:0)

基本上,您需要open二进制模式的CSV文件,'wb'而不是文字模式'w'