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

使用Pandas提取Excel中所有含20DV单元格对应列数据的问题

Pandas提取所有含指定内容的列数据

你的代码只拿到第一个匹配列,是因为找到第一个符合条件的列后直接赋值给了destination,没有收集后续的匹配项。下面给两种解决方法:

方法一:改进循环收集所有匹配列

初始化一个列表来存储所有符合条件的列名,循环过程中把匹配到的列名逐个加进去:

# 初始化空列表存匹配列名
destination_cols = []
for col in range(len(df.columns)):
    if df.iloc[0, col] == '20DV':
        destination_cols.append(df.columns[col])

# 提取所有匹配列的完整数据
result_df = df[destination_cols]

方法二:用Pandas布尔索引(更高效)

直接利用Pandas的向量操作筛选列,不用写循环,代码更简洁且性能更好:

# 筛选第0行值为'20DV'的所有列
matching_cols = df.columns[df.iloc[0] == '20DV']
# 提取这些列的数据
result_df = df[matching_cols]

如果需要的是列名列表就用destination_cols或matching_cols,如果需要列的完整数据就用result_df。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.21 18:52:38