合并文件夹下 Excel 文件并去重(xlsx 与 CSV 格式)

  1. xlsx 格式

代码如下:

import pandas as pd
#
# 此处的Excel_dir 可以是组件,‘查找文件’的返回值
excel_dir = ['//mac/Home/Desktop/考试信息数据归档/人员信息2.xlsx', '//mac/Home/Desktop/考试信息数据归档/人员信息.xlsx']

li = []
for i in excel_dir:
	li.append(pd.read_excel(i))
	print('已合并' + i)
# 合并完成后的excel,是放在excel文件夹下的
writer = pd.ExcelWriter('//mac/Home/Desktop/考试信息数据归档/人员信息汇总1.xlsx')
pd.concat(li).to_excel(writer, 'Sheet1', index=False)
writer.save()
print('合并完成')

frame = pd.read_excel('//mac/Home/Desktop/考试信息数据归档/人员信息汇总1.xlsx')
data = pd.DataFrame(frame)
print(data)
data.drop_duplicates(['*账号'], keep='first', inplace=True)
# drop_duplicates用法:subset=‘需要去重复的列名’,keep=‘遇到重复的时保留第一个还是保留最后一个’,inplace=‘去除重复项,还是保留重复项的副本’
data.to_excel('//mac/Home/Desktop/考试信息数据归档/人员信息汇总1.xlsx')
print('去重完成')

合并是按照 Excel 的表头去合并的,会将相同表头下的数据合并。

2、CSV 格式
代码如下:

# 同样 csv_list也可以是组件,‘查找文件’的返回值
csv_list = ['//mac/Home/Desktop/test/新浪微博 IDFA (2).csv', '//mac/Home/Desktop/test/新浪微博 IDFA (1).csv']
print(u'共发现%s个CSV文件'% len(csv_list))
print(u'正在处理............')
for i in csv_list:
    fr = open(i,'r').read()
    with open('//mac/Home/Desktop/test/新浪微博 IDFA 4.csv','a') as f:
        f.write(fr)
print(u'合并完毕!')