MySQLに入っているデータをPythonを用いて抽出し、それらをCSVファイルに書き込みたいのですが、数字はそのまま認識してくれるのですが、日本語のところが文字化けしてしまっています。
下のコードでpnはそれぞれ
あいうえ御
かきくけ子
などの漢字やひらがなが入り混じった文章が入っています。
connect
1 user='root', 2 password='', 3 host='xxxxxx') 4 cursor = connect.cursor() 5 for i in range(1): 6 fp = open('tmp.csv', 'aw') 7 8 sen = 'select distinct pn from 0916' 9 cursor.execute(sen) 10 res = cursor.fetchall() 11 pn_list = [] 12 for j in range(len(res)): 13 res_list2 = list(res[j]) 14 pn_list.append(res_list2.encode('utf-8')) 15 16 w = csv.writer(fp,delimiter=',') 17 18 for r in range(len(pn_list)): 19 w.writerow(pn_list[r])
とするのですが、CSVをみてみると例えば、文字化けした状態の表記が
?xA_DIFE.<>ejf'
のようになっているとしたら、文字化けしていないどころかCSVにはその文字が1セルに1文字ずつ入っている状態です。
どのようにしたら文字化けせずにCSVに1セル1要素(pn_list[r]ずつ)入るでしょうか?
ちなみにデータベースの構造は
pn
1
となっています。
よろしくお願いします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。