文字コードがshift-jsだと、
[vagrant@localhost python]$ python3 app.py
Traceback (most recent call last):
File “app.py”, line 4, in
csv = codecs.open(filename, “r”, “shift_jis”).read()
File “/home/vagrant/.pyenv/versions/3.5.2/lib/python3.5/codecs.py”, line 698, in read
return self.reader.read(size)
UnicodeDecodeError: ‘shift_jis’ codec can’t decode byte 0xef in position 0: illegal multibyte sequence
utf-8にします。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | import codecs filename = "list-sjis.csv" csv = codecs. open (filename, "r" , "utf-8" ).read() data = [] rows = csv.split( "\r\n" ) for row in rows: if row = = "": continue cells = row.split( "," ) data.append(cells) for c in data: print (c[ 1 ], c[ 2 ]) |
[vagrant@localhost python]$ python3 app.py
商品名 値段
石鹸 300
手袋 150
マスク 230
1 2 3 4 5 6 7 8 | import csv, codecs filename = "list-sjis.csv" fp = codecs. open (filename, "r" , "utf-8" ) reader = csv.reader(fp, delimiter = "," , quotechar = '"' ) for cells in reader: print (cells[ 1 ], cells[ 2 ]) |
このようにも書けますね。