Джанго Проект
Проблема с кодировкой: Поток кода
чтение файла Excel
работать с данными из Excel
создайте новый файл txt и напишите в него
отправить txt файл клиенту
coding = "utf8"
file = open(filename, "w", encoding=coding, errors = "ignore")
for row in excel_data_df.iloc():
line = manipulate(row)
file.write(line)
file.close()
file_data = open(filename, "r", encoding=coding, errors = "ignore")
response = HttpResponse(file_data, content_type='application/vnd.ms-excel')
response['Content-Disposition'] = 'attachment; filename=' + filename
все работает нормально, но когда я открываю файл с ANSI-кодирование, весь иврит превращается в тарабарщину
Я пытался изменить кодировку для каждого варианта иврита https://docs.python.org/2.4/lib/standard-encodings.html
Кодировка на иврите должна быть написана с помощью ASCII NEW CODE или ASCII WINDOWS TEXT, Любые идеи?
Вам нужно изменить режим на "rb" и удалить параметр кодирования
file = open(filename, "w")
for row in excel_data_df.iloc():
line = manipulate(row)
file.write(line)
file.close()
file_data = open(filename, "rb")
response = HttpResponse(file_data, content_type='application/vnd.ms-
excel')
response['Content-Disposition'] = 'attachment; filename=' + filename
Откройте файл в кодировке, в которой он был записан. «ANSI» — это термин Windows, обозначающий «кодировку по умолчанию для версии Windows, зависящей от локали», и зависит от интернационализированной версии Windows. Все, кроме кодировки, в которой был записан файл, будет тарабарщиной. Если вы не знаете исходную кодировку, такие инструменты, как шарде, могут догадаться, но могут и ошибиться.