2019-07-10 Python实现Vba中的字典功能(3)

绕了很大一个圈,其实pandas有去重复功能,可对多列去重复,还可以实现保留重复项的哪一个。费话不说,上代码:

import numpy as np
import pandas as pd
import os
from os.path import exists

#改变当前的路径
os.chdir(r'D:\test\p2\source2')
#将当前目录下的文件以列表的形式存放
file = os.listdir("./")
result = "rs.xls"
if exists(result):
    os.remove(result)
df_0 = pd.read_excel(file[0])
print(df_0.columns)
print('表头列名:\n',str(df_0.columns),file=open(r'D:\test\p2\test2.txt', "a"))
print("关键字参考:   ['班级','姓名']\n",file=open(r'D:\test\p2\test2.txt', "a"))
keyw=eval(input("请输入合并时的关键字,比如:班级+姓名,输入,['班级','姓名']:"))
print('关键字:\n',str(keyw),file=open(r'D:\test\p2\test2.txt', "a"))
d2=df_0.drop_duplicates(subset=keyw,keep='last',inplace=False)
d2.to_excel(r'D:\test\p2\rs.xls', index=False)

陈美以班级+姓名为关键字是重复的,去重后,保留了后面一个。

你可能感兴趣的:(2019-07-10 Python实现Vba中的字典功能(3))