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

如何使用Python pandas仅读取CSV文件中的指定行与单元格

非规整多区块CSV文件读取实现方案

你的CSV不属于标准单表结构,混杂了个人信息、无关文本、多段测量数据,不能直接用pd.read_csv全量读取,需要先拆分不同区块再分别处理,具体实现步骤如下:

步骤1:先按行读取全量内容过滤无效行

首先读取文件所有行,去掉空行和首尾空白字符,方便后续拆分区块:

import pandas as pd

# 替换为你的CSV文件路径
file_path = "test.csv"
with open(file_path, "r", encoding="utf-8") as f:
    # 过滤空行、去除每行首尾空白
    valid_lines = [line.strip() for line in f if line.strip()]

步骤2:提取个人信息转指定格式字典

前两行是个人信息区块,单独读取后转换为你需要的字典结构:

# 读取前两行个人信息,多空格/制表符作为分隔符
person_df = pd.read_csv(
    pd.io.common.StringIO("\n".join(valid_lines[:2])),
    sep="\s+"  # 如果是固定制表符分隔,替换为sep="\t"更稳妥
)
# 转换为指定格式的字典
person_info = {
    "last_name": person_df.iloc[0]["Last Name"],
    "first_name": person_df.iloc[0]["First Name"],
    "start_date": person_df.iloc[0]["Start Date"],
    "end_date": person_df.iloc[0]["End Date"]
}

此时person_info输出格式为:{'last_name': 'Example', 'first_name': 'Eva', 'start_date': '1.1.2021', 'end_date': '15.6.2021'},符合你的需求。

步骤3:读取多段测量数据存入变量

找到所有------- Header-------分隔符的位置,分别读取每个分隔符下的测量数据表:

# 定位所有Header分隔行的索引
header_positions = [i for i, line in enumerate(valid_lines) if line.startswith("------- Header-------")]
# 存储所有测量数据表的列表,你也可以单独赋值给指定变量
reading_data_list = []

for pos in header_positions:
    # 截取当前Header下的所有数据行,到下一个Header前结束
    end_pos = header_positions[header_positions.index(pos)+1] if header_positions.index(pos) < len(header_positions)-1 else len(valid_lines)
    data_lines = valid_lines[pos+1: end_pos]
    # 读取数据表,注意你的读数用逗号做小数点,指定decimal参数自动转换为数值类型
    df = pd.read_csv(
        pd.io.common.StringIO("\n".join(data_lines)),
        sep="\s+",
        decimal=","
    )
    reading_data_list.append(df)

# 示例:提取指定值存入变量
# 取第一段测量数据的第一个读数
first_reading = reading_data_list[0].iloc[0]["Reading"]
# 取第二段测量数据的所有时间
second_time_list = reading_data_list[1]["Time"].tolist()

注意事项

  • 你之前使用的pd.read_csv(file, sep='delimiter')是错误用法,delimiter是sep参数的别名,不能直接传入字符串delimiter作为分隔符
  • 如果文件分隔符是固定制表符,将sep="\s+"替换为sep="\t"可以避免特殊场景下的拆分错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 20:51:02