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

如何用pd.read_csv()读取CSV至哨兵值#,处理多DataFrame文件?

用pd.read_csv()读取CSV至哨兵值"#"的实现方法

可以实现,但没法直接通过pd.read_csv()的默认参数完成,需要先对文件内容做预处理,再交给pandas读取。

具体步骤

  • 先以文本模式打开CSV文件,逐行读取内容,直到碰到内容为#的行就停止
  • 把收集到的行转换成pandas能识别的文本流,再用pd.read_csv()读取

代码示例

import pandas as pd
import io

# 替换成你的CSV文件路径
file_path = "your_data.csv"

# 读取到哨兵值"#"为止
with open(file_path, "r", encoding="utf-8") as f:
    target_lines = []
    for line in f:
        cleaned_line = line.strip()
        # 碰到哨兵值就终止读取
        if cleaned_line == "#":
            break
        target_lines.append(line)

# 将收集的内容转为DataFrame
result_df = pd.read_csv(io.StringIO("".join(target_lines)))
print(result_df)

说明

pd.read_csv()本身没有内置的自定义哨兵值停止读取的参数,所以需要先手动截断文件内容到哨兵值之前,再用文本流对象io.StringIO包装后,交给pandas解析成DataFrame。如果需要读取后续的DataFrame,也可以用同样的逻辑继续处理文件剩余内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 07:12:37