注意:python csvがunicodeをサポートしていない対応
fp = open(CSV_FILE_NAME_ACCOUNT, 'aw')
w = csv.writer(fp, delimiter=',')
title = 'あいうえお'
name = 'hoge'
time = '2010-04-20 0:0:0'
#いったんunicode()でunicodeにする。
u_title = unicode(title)
u_name = unicode(name)
u_time = unicode(time)
#csvモジュールのreaderオブジェクトでマルチバイト文字を扱う場合,文字コードはShift_JISを前提らしい
#ということで、csvファイルに書き込む場合すべての文字をsjisエンコードする
s_title = u_title.encode('sjis')
s_name = u_name.encode('sjis')
s_time = u_time.encode('sjis')
list = [s_title, s_name, s_time]
w.writerow(list)
日本語が混じったCSVファイルをPostgreSQLに書く場合
CSVファイルがSJIS形式の場合
SET client_encoding TO 'SJIS';
COPY テーブル名 FROM 'CSVファイルの絶対パス' WITH CSV;
参考サイト
python CSV File Reading And Writing(Python Official Document)
CSVモジュールでマルチバイトを扱う(バッドのうはう)※これが一番かな?
UnicodeEncodeError(これはわかりやすい!)