首页 > 解决方案 > 如何在文件字段中将数据框保存为 csv 文件

问题描述

我正在尝试将数据框保存为模型对象的文件字段中的 csv 文件,但它没有正确保存,正在保存的文件包含一些其他语言字符!请告诉我做错了什么??

new_df = df.to_csv(columns=['A', 'B'], index=False)
doc.csvfile.save(f'{doc.id}.csv', ContentFile(new_df))

标签: djangopandasdataframedjango-modelsfilefield

解决方案


您好,您可以尝试使用以下代码保存 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)

推荐阅读