第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Django / Pandas - 創(chuàng)建 Excel 文件并作為下載

Django / Pandas - 創(chuàng)建 Excel 文件并作為下載

波斯汪 2023-06-20 15:13:05
我正在嘗試使用 pandas 創(chuàng)建一個(gè) Excel 文件,并通過 Django 將其作為可下載文件提供給用戶。我就我在此處找到的主題整理了一些不同的答案,最后得到了這段代碼:        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(workbook, content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')        response['Content-Disposition'] = f'attachment; filename={output_name}.xlsx'        return response一切正常,直到我嘗試打開生成的文件 - 我可能會出錯,說文件已損壞或數(shù)據(jù)格式有問題。我懷疑它可能與二進(jìn)制數(shù)據(jù)有關(guān)?我該如何解決這個(gè)問題?解決方案結(jié)果我不得不刪除一些東西,所以代碼現(xiàn)在看起來像這樣并且工作正常:        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
查看完整描述

4 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

我認(rèn)為您可能會使它變得比需要的復(fù)雜得多。


以下對我來說很好用:


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


查看完整回答
反對 回復(fù) 2023-06-20
?
瀟瀟雨雨

TA貢獻(xiàn)1833條經(jīng)驗(yàn) 獲得超4個(gè)贊

解決方案


結(jié)果我不得不刪除一些東西,所以代碼現(xiàn)在看起來像這樣并且工作正常:


        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


查看完整回答
反對 回復(fù) 2023-06-20
?
慕妹3146593

TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊

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


查看完整回答
反對 回復(fù) 2023-06-20
?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

在 Excel 中打開時(shí)可能是數(shù)據(jù)類型問題,請嘗試將數(shù)據(jù)轉(zhuǎn)換為字符串,然后創(chuàng)建 excel 并嘗試。

另一個(gè)想法是使用一組樣本記錄創(chuàng)建文件,而不是整個(gè)框架來驗(yàn)證它是否是數(shù)據(jù)問題。數(shù)據(jù)集中的 Nan's 也可能存在問題。檢查您是否需要忽略/轉(zhuǎn)換/替換它。


查看完整回答
反對 回復(fù) 2023-06-20
  • 4 回答
  • 0 關(guān)注
  • 310 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號