@olafars

Как решить проблему кирилических символов в csv?

Есть данные в mongodb, из которых я собираю csv файл.
CSV собирается, но русские символы там в виде кракозябр.
Код создания csv следующий:
from pymongo import MongoClient
import csv

filename = 'products.csv'
with open(filename, "w", encoding="utf-8", newline="") as file:
    columns = ["url", "name", "price", "manufacturer", "country"]
    writer = csv.DictWriter(file, fieldnames=columns)
    client = MongoClient('localhost', 27017)
    db = client.site
    collection = db.products
    rows = collection.find()
    for row in rows:
        del row['_id']
        if row['manufacturer'] == "":
            row['manufacturer'] = "-"
        if row['country'] == "":
            row['country'] = "-"
        writer.writerow(row)
        print(row)

Машина Ubuntu Linux 18.04, Python 3.6.5, PyCharm, Mongodb v4.0.0

На выходе символы следующего вида:
РњРђРљРР—-ФАРМА,РћРћРћ на нашем - МАКИЗ-ФАРМА,ООО
В Ubuntu 18.04 всё норм, открываю на других машинах (Windows/OS X) в MS Office Excel - нет, что с csv не так? При этом в sublime text открывается нормально.
Помогите кто чем может?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
danial72
@danial72
flutter dart.
В кодировке. Office хочет только 1251. С другими надо вручную устанавливать для файла. Ты ему кормишь utf8
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы