如何将本地 csv 文件的内容保存到“硬编码”Pandas DataFrame 中?
Posted
技术标签:
【中文标题】如何将本地 csv 文件的内容保存到“硬编码”Pandas DataFrame 中?【英文标题】:How to save contents of local csv file into a "hardcoded" Pandas DataFrame? 【发布时间】:2021-12-04 20:26:11 【问题描述】:我正在构建一个 Streamlit 仪表板,它必须从 DataFrame 中读取数据。问题是我有一个本地 csv 和一个本地 Excel 文件表单,我正在使用 pd.read_csv()
读取数据。
但是,当我与其他人共享我的仪表板 url 时,数据将无法加载,因为他们在本地没有文件。
如何读取 csv 和 Excel 文件的内容并将它们转换为“硬编码”的 pandas DataFrame?
我想我的问题是:我应该如何在没有本地 csv 和 Excel 文件的情况下存储和读取我的数据?
编辑:很抱歉没有代码或 MRE,但我真的不知道该怎么做。如果我有一段代码,它只是一个带有示例数据的 pandas 数据框。
【问题讨论】:
streamlit 不允许您上传其他资源吗?如果没有,您将需要一个网络服务器或云存储,您可以在其中托管您的 csv 文件、将其公开并在仪表板中使用公共地址。也许从这里开始:docs.streamlit.io/streamlit-cloud/community 【参考方案1】:在 R 中,我将使用 dput()
函数向我展示创建数据框所需的代码。
对于 Python,我知道 print(df.to_dict())
会做类似于“硬编码”Pandas DF 的事情。
所以我会做以下事情:
1:打印您的 df。 df.to_dict()
2:复制并粘贴必要的代码以在您的流光应用中创建数据框。类似的东西:'a': 0: 1, 1: 2, 'b': 0: 3, 1: 3
3:通过在每次运行应用程序时创建数据帧来“加载”数据帧。 df = pd.DataFrame.from_dict('a': 0: 1, 1: 2, 'b': 0: 3, 1: 3)
PS:请注意,如果您的数据不断变化,此解决方案也无法扩展。如果是这种情况,您需要每次都将新的 df 打印并粘贴到您的代码中。
【讨论】:
没错,数据是静态的,永远不会改变。 那么这就是你所需要的:) 更新了一个例子,但这应该适用于你的 DF,请告诉我 :) Valeu Marcelo,将在本地尝试并根据我的发现编辑此评论。以上是关于如何将本地 csv 文件的内容保存到“硬编码”Pandas DataFrame 中?的主要内容,如果未能解决你的问题,请参考以下文章
如何按百分比将 CSV 数据集拆分为训练集和测试集,并将拆分后的数据集与 pandas 一起保存到本地文件夹中? [复制]