Используйте UTF-8 BOM!
Для этого нужно добавить всего лишь 3 байта (hex EF BB BF) в начале файла.
В противном случае Excel интерпретирует данные в кодировке системы (по умолчанию windows-1251).
На языке Python это выглядит так:
import codecs
...
fp = open('filename.csv','w')
fp.write(codecs.BOM_UTF8)
...
P.S. - Кстати, это единственный выход, если в колонках есть разрывы строк (даже если всё у вас экранируется строго по формату CSV). При неправильной кодировке Excel "ломает" такие строки и я не нашел способа по-другому это исправить.
Комментариев нет:
Отправить комментарий