Bootstrap

python合并不同列序、不同表头的Excel

python合并不同列序、不同表头的Excel

一、目的:为方便分析统计数据,利用python代码合并不同列序、不同表头的Excel,一个Excel可能含有多个sheet工作簿。

二、代码

import pandas as pd
import os 

file_dir = r'C:\Users\Vern kong\Desktop\xiaobanqiao\combine1'
new_filename = file_dir + r'\01combine11.xlsx'
file_list = os.listdir(file_dir)
new_list = []

for file in file_list:
  
  file_path = os.path.join(file_dir,file) 
  dataframe = pd.read_excel(file_path)
  new_list.append(dataframe) 
  print("11")

df = pd.concat(new_list) 

print("2")
df.to_excel(new_filename, index=False)

print("success")

思路:把需要合并的Excel放在同一个文件夹下,指定一个Excel排好表头作为模版,放在默认第一个的位置,而后遍历整个文件夹,利用pandas库中的append语句将多个Excel不同列的内容加在一个列表中,最后将list列表内容以表格的形式输出,放在预先指定的Excel中。

三、成果

运行结果如下图:在这里插入图片描述
在这里插入图片描述
可以看到,多个Excel内容已经合并在第一个Excel中。

四、注意事项

1.文件夹命名尽量不要有中文,实测中文命名也可以

2.Excel第一行表头内需要合并的列,需要保证单元格内的字符一致,不一致就会错位,加在最后一列;顺序可以随意

3. 不要有隐藏的行或列,尤其是第一行,否则会整个Excel错位,原理同上

4.类似身份证等长文本,先把其转为字符串的形式,方法多样,其一可以手动批量在前面加中文字符"’“,公式: =”’"&A1,而后智能填充。

5.日期等长文本数字转标准格式,可以采取分列的方式截取前8位,而后勾选日期格式。类似于下图所示:

在这里插入图片描述

五、环境搭建

  1. 这里使用的是python3.9.6,IDLE编辑器,适合初学者,页面简洁,方便易上手。安装成功如下图:
    在这里插入图片描述
  2. 配置各种库需要pip命令,若提示既不是内部也不是外部命令,则需要加一个环境变量(高级设置里添加),成功添加之后的pip如下:在这里插入图片描述
  3. 安装pandas、openpyxl等实现读写、添加Excel功能的库
    pandas库:
pip install pandas

已安装成功:
在这里插入图片描述
其他库类似操作,提示缺啥安装啥

;