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

如何用Python筛选字典中DataFrame的favorite color为NaN的行并导出Excel

解决方案:筛选DataFrame中指定列值为NaN的行并导出到Excel

完整代码

import pandas as pd

# 文件路径
my_file_path = r'C:\Users\machukovich\Desktop\stack.xlsx'
# 加载Excel为DataFrame字典,跳过前2行
my_dict = pd.read_excel(my_file_path, sheet_name=None, skiprows=2)

# 创建筛选后的结果字典
filtered_dict = {}
for sheet_name, df in my_dict.items():
    # 筛选"favourite color"列值为NaN的行
    filtered_df = df[df['favourite color'].isna()]
    filtered_dict[sheet_name] = filtered_df

# 将筛选结果写入新Excel文件
output_file = r'C:\Users\machukovich\Desktop\filtered_stack.xlsx'
with pd.ExcelWriter(output_file) as writer:
    for sheet_name, filtered_df in filtered_dict.items():
        filtered_df.to_excel(writer, sheet_name=sheet_name, index=False)

关键说明

  • 筛选逻辑:用df['favourite color'].isna()判断指定列是否为缺失值(NaN),返回布尔索引后筛选出目标行。注意列名要和原数据完全一致(这里是英式拼写favourite color)。
  • 多工作表写入:使用pd.ExcelWriter上下文管理器,循环将每个筛选后的DataFrame写入对应名称的工作表,index=False避免把原DataFrame的索引写入Excel。
  • 简化依赖:无需额外导入openpyxl、xlsxwriter等库,Pandas默认的ExcelWriter已支持多工作表操作,除非你需要特定格式需求。

验证结果

运行后得到的filtered_dict就是你期望的结构,同时会在指定路径生成包含筛选结果的新Excel文件,每个工作表对应原表中favourite color为NaN的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 00:37:50