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

如何使用pandas实现Excel数据按部分匹配筛选并保存到新工作表

报错原因

你写的'lucy' in df['CodedCorporation']语法逻辑错误,该操作只会判断「lucy」是否是CodedCorporation列的索引值或者完全匹配的元素,最终返回单个True/False布尔值,无法用于逐行筛选数据,因此运行时会抛出索引错误。

正确实现方案

pandas针对字符串列提供了str.contains()方法,专门用于实现部分匹配筛选,同时你原有的保存逻辑会直接覆盖原Excel文件,导致原有工作表丢失,需要用ExcelWriter的追加模式写入新工作表,完整代码如下:

import pandas as pd

# 读取原始数据
df = pd.read_excel('sample.xlsx', sheet_name=0)

# 部分匹配筛选,匹配所有CodedCorporation列包含lucy的行
df = df[df['CodedCorporation'].str.contains('lucy', na=False)]

# 追加写入新工作表,不覆盖原有内容
with pd.ExcelWriter('sample.xlsx', mode='a', if_sheet_exists='replace') as writer:
    df.to_excel(writer, sheet_name='new data', index=False)
常用参数说明
  • na=False:当列中存在空值(NaN)时,默认判定为不匹配,避免空值导致筛选逻辑报错
  • case=False:开启后忽略大小写匹配,Lucy、LUCY这类变体也会被命中
  • regex=False:如果你要匹配的关键词包含.、*、+等正则特殊字符,开启该参数会做纯文本匹配,避免特殊字符被解析为正则语法

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:45:10