4 回答
TA贡献1856条经验 获得超17个赞
我认为您可能会使它变得比需要的复杂得多。
以下对我来说很好用:
import pandas as pd
from django.http import HttpResponse
df = pd.DataFrame(data)
response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
response['Content-Disposition'] = 'attachment; filename="filename.xlsx"'
df.to_excel(response)
return response
TA贡献1833条经验 获得超4个赞
解决方案
结果我不得不删除一些东西,所以代码现在看起来像这样并且工作正常:
collection = [{"title": "something", "price": 34, "quantity": 23}, {..}]
output = BytesIO()
df = pd.DataFrame(collection, columns=['title', 'price', 'quantity'])
writer = pd.ExcelWriter(output, engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1')
writer.save()
output.seek(0)
# workbook = output.getvalue()
response = StreamingHttpResponse(output, content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
response['Content-Disposition'] = f'attachment; filename={output_name}.xlsx'
return response
TA贡献1820条经验 获得超9个赞
AI 建议:):
import pandas as pd
from django.http import HttpResponse
df = pd.DataFrame(data)
response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename="my_data.xlsx"'
df.to_excel(response, index=False)
return response
TA贡献1865条经验 获得超7个赞
在 Excel 中打开时可能是数据类型问题,请尝试将数据转换为字符串,然后创建 excel 并尝试。
另一个想法是使用一组样本记录创建文件,而不是整个框架来验证它是否是数据问题。数据集中的 Nan's 也可能存在问题。检查您是否需要忽略/转换/替换它。
添加回答
举报