我正在使用Dash plotly构建一个应用程序,该应用程序可以选择保存csv文件(在应用程序运行期间创建),但我在保存csv文件时遇到问题
我试图做的是使用html.A
组件,并使用以下数据设置href
属性:
csv_string = df.to_csv(encoding='utf-8', index=True)
csv_string = "data:text/csv;charset=utf-8," + urllib.parse.quote(csv_string)
csv_string
是我分配给href
属性的数据。
我看到有人推荐这种方法,它似乎真的很有效
当数据帧太大时,问题就出现了。发生这种情况时,尝试保存文件时出现下载错误
你认为我对问题的分类正确吗?真的有可能是尺寸问题吗
你认为我能做些什么来解决这个问题?是否有其他保存文件的解决方案?我需要说,我不想下载到静态文件夹的文件。我需要有一个解决方案,将文件下载到用户的默认下载文件夹,或使用户能够选择他想要保存文件的文件夹(可能会弹出窗口)
编辑: 我找到了这个链接:http://chandrewz.github.io/blog/downloading-large-csv-files-via-href,它准确地描述了我遇到的问题。有没有类似于作者在Python中建议的解决方案
以下是我如何允许使用Dash框架下载CSV文件,而不需要额外的库:
来自
dash-extensions
包的Download
组件使用Blob执行下载操作,因此它可能会解决您的问题。这是一个小例子如果您决定试用,可以通过pip安装该软件包
免责声明:我是破折号扩展的作者
编辑:根据Dash 1.20.0,
Download
组件已合并到dash-core-components
。因此,可以在不使用任何第三方库的情况下重写上述示例相关问题 更多 >
编程相关推荐