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

部署Streamlit应用时pd.read_csv读取CSV出现多余逗号问题求助

解决Streamlit部署后pd.read_csv读取CSV出现多余逗号的问题

针对你遇到的本地运行正常、部署到GitHub后productid和imageid列出现多余逗号的问题,可从以下方向排查和解决:

可能的原因

  1. 编码不一致:本地CSV文件可能带UTF-8 BOM标记,上传到GitHub后编码被转换,导致pandas解析时出现异常字符。
  2. 行尾格式差异:Windows系统的CRLF(\r\n)行尾在Linux部署环境下被解析异常,引发列错位。
  3. index_col=0参数的隐性问题:若原索引列(第一列)的格式在上传后被改变,或包含特殊字符,会导致后续列解析错误。

解决方案

1. 明确指定文件编码

在pd.read_csv中添加encoding参数,优先使用utf-8-sig处理带BOM的文件:

@st.experimental_singleton
def load_dataset():
    # 指定编码确保跨环境解析一致
    X_train = pd.read_csv("X_train.csv", index_col=0, encoding='utf-8-sig')
    y_train = pd.read_csv("Y_train.csv", index_col=0, encoding='utf-8-sig')
    categories = pd.read_csv("categories.csv", sep="\t", decimal=',', encoding='utf-8-sig')

2. 统一CSV文件的行尾格式

将本地CSV文件转换为UNIX/Linux的LF(\n)行尾格式:

  • 使用Notepad++:编辑→文档格式转换→转为UNIX格式
  • 使用VS Code:右下角点击CRLF,选择LF保存
    转换后重新上传到GitHub仓库。

3. 手动处理索引,避免依赖index_col

若index_col=0引发解析错位,可先读取完整数据再手动设置索引:

@st.experimental_singleton
def load_dataset():
    # 先读取全部数据,不指定index_col
    X_train = pd.read_csv("X_train.csv", encoding='utf-8-sig')
    # 手动设置原索引列(假设列名为productid)
    X_train = X_train.set_index('productid')
    
    y_train = pd.read_csv("Y_train.csv", encoding='utf-8-sig')
    y_train = y_train.set_index('productid')
    
    categories = pd.read_csv("categories.csv", sep="\t", decimal=',', encoding='utf-8-sig')

4. 验证仓库中CSV文件的完整性

下载GitHub仓库中的CSV文件,与本地文件对比:

  • 检查文件大小是否一致
  • 用文本编辑器打开,查看productid和imageid列的格式是否被篡改

5. 添加调试代码定位问题

在部署的应用中临时添加调试输出,查看解析后的数据情况:

@st.experimental_singleton
def load_dataset():
    X_train = pd.read_csv("X_train.csv", index_col=0, encoding='utf-8-sig')
    # 输出前5行数据到Streamlit界面,观察列格式
    st.subheader("调试:X_train前5行")
    st.dataframe(X_train.head())
    
    y_train = pd.read_csv("Y_train.csv", index_col=0, encoding='utf-8-sig')
    categories = pd.read_csv("categories.csv", sep="\t", decimal=',', encoding='utf-8-sig')
    return X_train, y_train, categories

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:14:57