You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何用Python的Pandas读取Excel特定列并过滤指定条件行

嘿,这需求我熟!用pandas完全可以轻松搞定,我给你一步步拆解,代码和解释都安排得明明白白:

实现步骤与代码示例

首先得确保你装了必要的库,pandas用来处理数据,openpyxl用来读取xlsx格式的Excel文件:

pip install pandas openpyxl

接下来是核心代码,每一步都给你注释清楚:

import pandas as pd

# 替换成你的Excel文件路径,engine参数针对xlsx格式,xls格式可以换成"xlrd"
df = pd.read_excel("你的Excel文件路径.xlsx", engine="openpyxl")

# 筛选出uniqueidentifier列为空的行
# 这里用isna()判断空值,pandas里Excel的空单元格会被识别为NaN
filtered_rows = df[df["uniqueidentifier"].isna()]

# 把筛选后的行数据存入列表,两种方式任你选:
# 方式1:每行转成字典,键是列名,值是单元格内容,可读性强
data_list = filtered_rows.to_dict("records")
# 方式2:每行转成纯值列表,顺序和表格列顺序一致,更轻量化
# data_list = filtered_rows.values.tolist()

# 获取这些筛选行的原表格索引,转成列表方便使用
filtered_indices = filtered_rows.index.tolist()

# 打印验证结果
print("筛选出的空值行数据:", data_list)
print("这些行在原表格中的索引:", filtered_indices)
额外说明
  • 如果你的需求是仅当uniqueidentifier列值为"yes"时跳过,其他非空值的行需要保留,那把筛选条件改成下面这样就行:
    filtered_rows = df[df["uniqueidentifier"] != "yes"]
    
  • 要是Excel里的“空”是指空字符串(而不是真正的空单元格),那判断条件换成df["uniqueidentifier"] == ""就可以了。

我平时处理Excel数据经常用这套逻辑,亲测好用,你替换成自己的文件路径就能直接跑啦!

内容的提问来源于stack exchange,提问作者S.Mehta

火山引擎 最新活动