При переносе данных в csv символы с диакритикой видоизменяются
Слова на французском я беру из файла txt, далее работаю с ними и вместе с другими получившимися данными заливаю в csv файл. При прямом выводе (print) слова написаны корректно, однако в итоговом csv-файле буквы с аксанами заменяются на другие символы (Néogène - NГ©ogГЁne). Это можно как-то исправить? Заранее спасибо за ответ!
dict_sample = {
"Word": word,
"Fr-ru": fr_ru,
"En.wiktionary": gram_cat_wiki,
"Larousse.fr": gram_cat_larousse,
"Match_wiktionary": match_wiki,
"Match_larousse": match_larousse
}
print(f'{word} {fr_ru} {gram_cat_wiki} {gram_cat_larousse} {match_wiki} {match_larousse}')
data = data.append(dict_sample)
return data
# создаем таблицу csv и сливаем туда данные
def data_to_csv(data):
field_names = ["Word", "Fr-ru", "En.wiktionary", "Larousse.fr", "Match_wiktionary", "Match_larousse"]
with open('Final_fr_1.csv', 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames = field_names)
writer.writeheader()
writer.writerows(data)
Ответы (1 шт):
Автор решения: Sergey Tatarincev
→ Ссылка
open() в windows по умолчанию открывает файл для записи в windows-1251, поэтому указывайте прямо:
with open('Final_fr_1.csv', mode="w", encoding="utf-8") as csvfile: