pandas操作Excel比对两列数据的缺失情况(更多方法可查看大佬的评论)
本帖最后由 NGUBIN 于 2024-4-15 20:02 编辑```python
import pandas as pd
# 加载Excel文件
df = pd.read_excel('名单比对.xls',header=None)# 替换为你的Excel文件路径
# 去除所有空值
df.dropna(inplace=True)
# 获取A列和B列的数据
column_a = df.iloc[:, 0].tolist()
column_b = df.iloc[:, 1].tolist()
# 找出B列中不在A列中的元素
print(column_a,len(column_a));
print(column_b,len(column_b));
num=[]
for i in column_a:
if i not in column_b:
num.append(i)
print(num)
not_in_a =
# 输出结果
print("\n******** 未填名单 ********")
for item in not_in_a:
print("----> "+item)
``` path=r"C:\Users\110\Desktop\a.xlsx"
df=pd.read_excel(path,dtype='str')
# 将第二列拼成一个正则表达示给match去匹配
df=df[~df['编号1'].str.match(pat='|'.join(df['编号 2']),flags=True)]
print(df)
直接也能判断哇。 楼主,麻烦详细说下每个语句的功能,在下有点代码恐慌。 可惜了 pandas 中 numpy 类似的功能~~~
:lol 这是找出B列中不在A列中的元素?我看着怎么像在A列中找不在B列的。 其实可以直接合并,然后筛选在A表的列有值但是在B表的列为空的,这样就不需要循环了 lisongmei 发表于 2024-3-21 10:16
path=r"C:%users\110\Desktop\a.xlsx"
df=pd.read_excel(path,dtype='str')
#...
代码更少了,直接了当:lol sharehappy01 发表于 2024-3-21 08:00
楼主,麻烦详细说下每个语句的功能,在下有点代码恐慌。
楼下有个更好的方案{:1_919:} 2513002960 发表于 2024-3-21 09:00
其实可以直接合并,然后筛选在A表的列有值但是在B表的列为空的,这样就不需要循环了
这个方法也很好 anchovy126 发表于 2024-3-21 08:22
这是找出B列中不在A列中的元素?我看着怎么像在A列中找不在B列的。
是有点问题噢, 我看看怎么修改
页:
[1]
2