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

使用pandas read_csv读取文件时如何筛选以特定字符开头的列

使用pandas读取大CSV时筛选指定前缀列的方案

你可以通过两种方式实现需求,两种方式都不会加载全量400列的数据,适配大文件场景:


方式1:分两步操作(逻辑更清晰)

先只读表头筛选出符合要求的列,再只加载对应列的内容:

import pandas as pd

# 仅读取表头行,不加载任何业务数据
df_header = pd.read_csv("你的文件路径.csv", nrows=0)
# 筛选所有以'A'或'X'开头的列,无需提前知道列的数量
target_cols = [col for col in df_header.columns if col.startswith(('A', 'X'))]
# 仅加载目标列的数据
df = pd.read_csv("你的文件路径.csv", usecols=target_cols)

方式2:一行式精简写法

直接给usecols参数传入lambda函数,pandas会自动完成列筛选:

import pandas as pd

df = pd.read_csv("你的文件路径.csv", usecols=lambda col: col.startswith(('A', 'X')))

补充说明

  • 你给出的示例列运行上述代码后,会自动筛选出['A_1', 'A_2', 'X_1', 'X_2'],完全匹配需求
  • 如果需要忽略大小写匹配(同时匹配a/A、x/X开头的列),可以把筛选条件改成col.upper().startswith(('A', 'X'))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:27:04