【问题标题】:How to save a dataframe as csv file in filefield如何在文件字段中将数据框保存为 csv 文件
【发布时间】:2021-11-12 06:36:54
【问题描述】:

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

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

【问题讨论】:

  • 您确定doc.id 已定义吗?也许您正在保存一个名为 .csv 的文件。
  • @JoseAntonioCastroCastro 是的,它已定义,问题不在于,问题在于正在保存的文件,它不包含数据帧数据,它包含一些奇怪的其他语言字符

标签: django pandas dataframe django-models filefield


【解决方案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)

【讨论】:

    猜你喜欢
    • 2019-08-26
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 2017-03-15
    • 2016-09-01
    • 2020-03-29
    相关资源
    最近更新 更多