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

如何用Python比较Excel多单元格(含字符串与整数)与多列数据

Python实现Excel跨列组合匹配判断

前置依赖

先安装所需的库:

pip install pandas openpyxl

核心代码

以下代码可以自动处理任意行数的Excel数据,完成A+B每行组合与D+E所有行组合的匹配判断:

import pandas as pd

# 替换为你的Excel文件路径
excel_path = "你的数据文件.xlsx"
df = pd.read_excel(excel_path, engine="openpyxl")

# 生成A、B列的每行组合(统一转字符串处理混合类型)
df["AB_combined"] = df["A"].fillna("").astype(str) + df["B"].fillna("").astype(str)

# 把D、E列的所有组合存入集合(加速查询)
de_combined_set = set(df["D"].fillna("").astype(str) + df["E"].fillna("").astype(str))

# 逐行判断AB组合是否存在于DE组合集合中
df["匹配结果"] = df["AB_combined"].apply(lambda x: x in de_combined_set)

# 可选:将结果保存到新Excel文件
df.to_excel("匹配结果输出.xlsx", index=False, engine="openpyxl")

# 打印查看结果
print(df[["A", "B", "匹配结果"]])

关键细节说明

  • 类型统一处理:用astype(str)把整数、字符串混合的数据转成统一字符串,避免拼接时出现类型错误;fillna("")把空值替换为空字符串,防止出现nan拼接结果。
  • 集合加速查询:将D+E的所有组合存入set,成员查询的时间复杂度是O(1),远快于遍历列表,数据量越大优势越明显。
  • 自适应行数:pandas会自动读取Excel的所有行,无需预先指定行数,完全适配你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 03:02:07