2016-11-28 9 views
-2

私はPythonを使用してmysqlデータベースからデータを抽出しようとしていましたが、特殊文字(データはFR、ES、De、IT言語の文字列) 。単語が(アクセントáñなどのような)特殊文字を持っていない何のファイル(私が抽出したデータとCSVを作成しています) これに適切にエンコードされているときはいつでも、私が使っていたコードがあるPythonでUTF-8でエンコードされた特殊文字を読み取る方法

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

が必要になりますか? – runDOSrun

答えて

0

は基本的にあなたがエンコードがUTF-8では、どのように知っているのPythonすべきであることを指定しますopenにバイナリモードでCSVファイル、'wb'ないテキストモードどこにもコードで'w'

関連する問題