13行python代码完成excel合并

13行代码完成excel合并

	写在前面,(一些废话)~~
    因为在日常的学习和工作中经常需要完成合并excel表格的工作,而合并excel通
    常需要打开n多个excel,这就十分地不友好,所有就用python写了个小脚本,供
    自己万一忘了回来看看(我可是真菜...

​ 该脚本需要使用pandas

  • 首先呢把待合并的excel们放到同一个目录下,方便操作(比如下面这样)

在这里插入图片描述

  • 然后就可以愉快的编码了
import pandas as pd
import os

path = './data'    //我的脚本位置是在data文件夹之外的文件夹里,这里可以直接使用绝对路径
				   //换成你的excel路径
file_list = os.listdir(path)
				   //os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表

files = []         //报成文件的目录
for name in os.listdir(path):
    files.append(os.path.join(os.path.abspath(path), name))
    			   //os.path.join()路径拼接
        		   //os.path.abspath()获得绝对路径
            
result = []        //保存最后合并的结果
for item in files:
    result.append(pd.read_excel(item))
    			   //pd.read_excel()读出来的是dataframe类型的数据
        		   //result 就保存了n个dataframe类型的数据

writer = pd.ExcelWriter(os.path.join(os.path.abspath(path), 'result.xlsx'))
				   //创建一个excel写入对象writer,后面是文件路径加文件名
pd.concat(result).to_excel(writer, 'sheet1', index=False)
				   //concat将n个dataframe合并
    			   //to_excel的参数介绍在下面
writer.save()

to_excel()的参数

DataFrame.to_excel(excel_writer, sheet_name='Sheet1', na_rep='', 
float_format=None, columns=None, header=True, index=True, 
index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, 
encoding=None, inf_rep='inf', verbose=True, freeze_panes=None)
  • 合并成功!
    在这里插入图片描述
    上面第三个excel列名应该是a和b,这是我为了截报错的图,改的…

在这里插入图片描述

但是请注意,待合并的excel列名要一致,否则会报错 not aligned

在这里插入图片描述

严正声明!!13行是代码行数,不包括注释和空行~~

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值