继6月24日发了一篇Python的安装之后,憋了一个月,终于准备发一篇实用的Python应用于Excel的例文。
这篇例文,是将三个工资文件合并为一个,并进行按人及按月的合计。
先来看看三个工资文件的内容。
第一个文件:202001工资.xlsx
第二个文件:202002工资.xlsx
(多了一个人“陈淑桦”,多了一列“补助”)
第三个文件:202003工资.xlsx
# 读入多个excel数据
import os
import pandas as pd
#这里需要改成自己的目标目录
os.chdir("D:/优度/common/培训/excel技巧/微信公众号-excel/tmp/20200721")
datalist = []
cur_path = os.getcwd()
for file_name in os.listdir(cur_path):
#print(file_name)
if file_name[-5:] == '.xlsx' or file_name[-4:] == '.xls':
#防止临时文件
if file_name[0] == '.':
continue
#开始读入数据
data = pd.read_excel(file_name, index_col='姓名')
datalist.append(data)
# 按行合并 inner 交集 outer并集
result = pd.concat(datalist,join='outer',axis=1)
result
# 填充数据
result = result.fillna(0)
# 按行求和
result.sum(axis=1)
#按列求和
result.sum(axis=0)
# 存入excel
writer = pd.ExcelWriter(r'summary.xlsx', engine= 'xlsxwriter')
#result .to_excel(writer,sheet_name='年收入')
result.sum(axis=0).to_excel(writer,sheet_name='竖列求和')
result.sum(axis=1).to_excel(writer,sheet_name='横列求和')
result .to_excel(writer,sheet_name='明细')
writer.save()
这里原本只有3个Excel文件
运行过后,多了一个“ summary.xlsx"。三个输出结果都在这里。
打开"summary.xlsx"是这个样子滴!
喜欢就跟我一起学Python吧!!