You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将本地CSV/Excel内容转为硬编码Pandas DataFrame供Streamlit使用?

实现CSV/Excel内容硬编码为Pandas DataFrame的方案

方案1:字典格式硬编码(最简洁,适合小体量数据)

  • 你先在本地环境读取一次原始CSV/Excel文件,得到初始DataFrame
  • 执行 print(df.to_dict('list')),控制台会输出和你数据完全对应的字典结构
  • 把输出的字典复制到你的Streamlit代码中,直接用pd.DataFrame()加载即可
# 本地运行一次导出字典结构(运行一次即可,不需要放到最终的Streamlit代码里)
import pandas as pd
df = pd.read_csv("你的本地文件.csv")
print(df.to_dict("list"))

# 复制上面输出的字典,放到你的Streamlit代码里直接用
data = {
    "姓名": ["张三", "李四", "王五"],
    "年龄": [25, 30, 28],
    "部门": ["技术", "产品", "运营"]
}
df = pd.DataFrame(data)

方案2:CSV字符串格式硬编码(兼容原有读文件逻辑,适合结构复杂的数据)

  • 本地读取原始文件得到初始DataFrame后,执行print(df.to_csv(index=False)),控制台会输出完整的CSV格式文本
  • 把输出的文本用三重引号包裹,存为字符串变量,配合io.StringIO直接用pd.read_csv()加载
import pandas as pd
import io

# 把本地导出的CSV内容直接硬编码为字符串
csv_content = """姓名,年龄,部门
张三,25,技术
李四,30,产品
王五,28,运营
"""
df = pd.read_csv(io.StringIO(csv_content))

注意事项

  • 如果是Excel文件,本地读取后同样可以用上面两种方式导出成字典或CSV字符串,不需要额外处理
  • 数据量超过1万行时不推荐硬编码,会让代码文件体积过大拖慢加载速度,这种场景可以将数据上传到云存储获取公共直链,直接用pd.read_csv(直链)加载即可

内容的提问来源于stack exchange,提问作者Luiz Scheuer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 17:15:03