[英]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.