如何使用pd.read_csv忽略第二列包含'NON'的行?
如何用pd.read_csv忽略第二列含'NON'的行?
直接在pd.read_csv阶段过滤掉第二列是'NON'的行,可以用skiprows参数配合自定义判断函数实现,具体操作如下:
自定义跳过规则实现读取过滤
编写一个函数,用来判断每行是否需要跳过:
- 表头行(第一行)不跳过
- 数据行如果第二列内容是'NON'(需处理逗号后的空格),则跳过该行
示例代码:
import pandas as pd def skip_non_rows(row): # 表头行(索引为0)不跳过 if row == 0: return False # 分割行内容,处理逗号前后的空格 cols = row.strip().split(',') # 检查第二列是否为'NON'(去除前后空格后判断) if len(cols) >= 2 and cols[1].strip() == 'NON': return True # 其他行不跳过 return False # 读取csv文件,应用跳过规则 df = pd.read_csv('你的文件名.csv', skiprows=skip_non_rows)
后续批量处理密码字段
读取完成后,可批量为空密码字段生成通用密码:
# 自定义通用密码,示例用'CommonPwd_123',可按需修改 df['pwd'] = df['pwd'].apply( lambda x: 'CommonPwd_123' if pd.isna(x) or x.strip() == '' else x.strip() )
处理后得到的DataFrame会自动忽略第二列是'NON'的行,同时为空密码字段填充通用密码。
内容的提问来源于stack exchange,提问作者BenjiBoy
相关产品推荐
相关产品推荐

