#django #pandas #dataframe #django-models #filefield
Вопрос:
Я пытаюсь сохранить кадр данных в виде файла csv в поле файла объекта модели, но он сохраняется неправильно, файл, который сохраняется, содержит некоторые символы другого языка!! пожалуйста, скажите, что я делаю не так??
new_df = df.to_csv(columns=['A', 'B'], index=False) doc.csvfile.save(f'{doc.id}.csv', ContentFile(new_df))
Комментарии:
1. Вы уверены, что
doc.id
это определено? Может быть, вы сохраняете файл с именем.csv
.2. @JoseAntonioCastroCastro да, это определено, проблема не в этом, проблема в файле, который сохраняется, он не содержит данных фрейма данных, он содержит некоторые странные символы другого языка
Ответ №1:
Здравствуйте, вы можете попробовать сохранить csv-файл с приведенным ниже кодом
import csv from io import StringIO from django.core.files.base import ContentFile new_df = df.to_csv(columns=['A', 'B'], index=False) csv_buffer = StringIO() csv_writer = csv.writer(csv_buffer) csv_writer.writerow(new_df) csv_file = ContentFile(csv_buffer.getvalue().encode('utf-8')) doc.csvfile.save('output.csv', csv_file)