u++の備忘録

PythonのリストをExcelで開いても文字化けしないcsv形式で書き出す

encodingで'utf-8-sig'を指定する。BOM(Byte order mark)付きのエンコーダである。

with open('output.csv', 'w', encoding='utf-8-sig') as f:
    writer = csv.writer(f, lineterminator='\n')
    writer.writerows(output) # output: 書き出したいリスト(多次元OK)