簡體   English   中英

導出 Pandas Dataframe 為 CSV

[英]Exporting Pandas Dataframe as CSV

這是一個關於如何讓用戶在 Python 中導出 Pandas dataframe 到 CSV 格式的問題 3.

對於上下文,我有一個 Django view ,它接受來自 jQuery 的 POST 請求,這樣當用戶單擊我網站上的按鈕時,它會觸發對該 Django view的 POST 請求並執行一些過濾以生成 Pandas dataframe。我想要用戶能夠在他們的終端導出 dataframe,而不是我個人的本地機器/項目目錄。

我在“下載”和“導出”之間做了明確的區分。 下載可以通過pd.to_csv方法輕松完成,基本上將 CSV 文件保存到我本地機器(或者我的項目文件夾,實際上)的指定目錄中。 問題是我想要的行為是“導出”,我將其定義為用戶在單擊按鈕后能夠在本地計算機上獲取 dataframe。

我目前“導出”的方式是將 Dataframe 轉換為 HTML table元素,返回 HTML 作為對 jQuery 的 POST 請求的響應,並使用 vanilla JS 檢查table元素以在用戶端導出數據,遵循類似於如何將 html 表數據導出為 .csv 文件的協議? . 然而,問題是當 dataframe 變得太大時,將無法檢查關聯的table元素以生成 CSV 文件。

任何將 Pandas dataframe 導出到 CSV 的建議都值得贊賞 - 事實上,它可能是一個原始解決方案。

df.to_csv(directory/file_name.csv')

在您看來試試這個 function

import csv
import pandas as pd

def get(request):
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="{filename}.csv"'.format(filename='myname')
    writer = csv.writer(response)
    df = pd.DataFrame([{"name": "haha", "age": 18}, {"name": "haha", "age": 18}])
    writer.writerow([column for column in df.columns])
    writer.writerows(df.values.tolist())
    return response
        

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM