使用Python将多个单独的Excel文件整合到一个Excel文件的不同工作表里
最近需要将许多个单独的表格整合到一起,首先是格式转化,将xls转为xlsx文件
import win32com.client as win32
import os.path
import osdef xlsToxlsx(xls_path, xlsx_path):for root, dirs, files in os.walk(xls_path, topdown=False):for name in files:str = os.path.join(root, name)if str.split('.')[-1] == 'xls':print(str)print(name)fname = str # 合成需要转换的路径与文件名fname_tmp = xlsx_path + '\\' + name + 'x' # 合成准备存放转换好的路径与文件名print(fname_tmp)excel = win32.gencache.EnsureDispatch('Excel.Application') # 调用win32模块wb = excel.Workbooks.Open(fname) # 打开需要转换的文件wb.SaveAs(fname_tmp, FileFormat=51) # 文件另存为xlsx扩展名的文件wb.Close()excel.Application.Quit()xls_path = r"存放xls文件的路径"
xlsx_path = r"存放xlsx文件的路径"
xlsToxlsx(xls_path, xlsx_path)
将文件格式转换成统一的格式后,开始创建新的表用来存放多个Excel表中的内容。但是这样直接复制会有格式问题,后面再解决。
import glob
import pandas as pd
#需要创建ExcelWriter对象,要不sheet会覆盖,只留最后一个
writer = pd.ExcelWriter(r'这里填写创建表的路径包括文件名,例如:D:\abc\整合表.xlsx')
flist=glob.glob(r"这里填写存放多个Excel文件的目录,例如:D:a\*.xlsx")
#这里的‘*.xlsx’不用更改,只需在前面添加路径即可for i in flist:df=pd.read_excel(i)
#提取文件名fname=i.split("\\")[-1]fname=fname.split(".")[0]# print(fname)df.to_excel(writer, sheet_name=fname)
writer.save()
到这里表格已经复制完成了,但是新创建的表格的首行首列会出现number等字样,不够规范
为了删除首行首列的不规范格式,采用以下方式将其去除
import openpyxlwb = openpyxl.load_workbook(r"这里填写刚刚整合好的文件,例如之前的:D:\a\整合表.xlsx")workbook = xlrd.open_workbook(r"这里填写刚刚整合好的文件,例如之前的:D:\a\整合表.xlsx")
# 获取所有sheet的名字
names = workbook.sheet_names()
num = len(names)for i in range(num):# 通过sheet索引获得sheet对象worksheet = workbook.sheet_by_index(i)'''对sheet对象进行操作'''name = worksheet.name # 获取表的姓名nrows = worksheet.nrows # 获取该表总行数# print(nrows) ncols = worksheet.ncols # 获取该表总列数# print(ncols) sheet = wb[name]list = worksheet.row_values(0)temp=list[1]# print(temp)# 在第1列的位置删除1列sheet.delete_cols(1)# 在第1行的位置删除1行sheet.delete_rows(0)sheet['A1']=tempprint(name+'表已整合到某某表中')## 指定不同的文件名,可以另存为别的文件wb.save(r'这里填保存xlsx文件的路径,即最后整合表的路径和文件名,例如:D:\abc\新整合表.xlsx')
运行完后效果如下
使用Python将多个单独的Excel文件整合到一个Excel文件的不同工作表里相关推荐
- datatables页面合并两个列_python实现多个excel合成合并为一个excel
一.环境准备 python在执行save保存excel时可能报错原因:# 每次执行前new_file_name都必须是最新的excel,也就是从原模板中直接复制的文件,如果你先执行了程序插入数据进模板 ...
- python怎么调用另一个py文件的变量,Python中py文件引用另一个py文件变量的方法
Python中py文件引用另一个py文件变量的方法 最近自己初学Python,在编程是遇到一个问题就是,怎样在一个py文件中使用另一个py文件中变量,问题如下: demo1代码 import requ ...
- 代码杂记[壹]-将多个Excel信息汇总到一个Excel表格里
代码杂记[壹]-将多个Excel信息汇总到一个Excel表格里 序 '壹'--将多个Excel信息汇总到一个Excel表格里 0.代码目的 1.代码实现 2.报错 FileNotFoundError和 ...
- python导入其他py文件-Python中py文件引用另一个py文件变量的方法
最近自己初学Python,在编程是遇到一个问题就是,怎样在一个py文件中使用另一个py文件中变量,问题如下: demo1代码 import requests r = requests.get(&quo ...
- excel几个表合成一张_快速将多个excel表合并成一个excel表
应用场景:有很多张excel,而且excel表里面的结构基本一样,如何快速将这些excel合并在一个excel页面,便于后期分析和统计 技术实现:利用excel表的宏计算实现. 注意:金山的WPS没有 ...
- java poi 如何合并多个sheet 为一个sheet_Java POI组件实现多个Excel文件整合成一个多Sheet的Excel文件...
代码: package com.weichai; import java.io.File; import java.io.FileInputStream; import java.io.FileOut ...
- 用python将指定目录下的所有json文件合并成一个csv文件
#!/usr/bin/env python # -*- encoding: utf-8 -*-import sys import json import os import pandas as pd ...
- excel合并多个工作表_快速将多个Excel表格合并成一个Excel表格
之前在微信群内有朋友问我如何快速将多个Excel表格合并成一个Excel表格,当时没有讲解清楚,今天专门来告诉大家如何快速合并Excel表格到一个工作表中. 在合并表格中,不外乎以下两种情况: 将多个 ...
- 如何快速把多个excel表合并成一个excel表(不熟悉vba及公式的人)
对于不熟悉Excel公式,不熟悉vba的人,要如何按需要快速把多个excel表合并成一个excel表? 对于Excel的合并,很多需要通过vba变成,但对于不熟悉vba编程的人,如何合并呢?给大家推荐 ...
最新文章
- python将scikit-learn自带数据集转换为pandas dataframe格式
- 我们该怎么成为技术尖子生
- Linux学习笔记-题记
- Shell 示例:利用 $RANDOM 产生随机整数
- oidc auth2.0_使用Spring Security 5.0和OIDC轻松构建身份验证
- 怎么解决相位抵消_【录音教程】如何防止话筒拾音的声学相位抵消
- NYOJ47过河问题
- jquery $加一个点后面加个名称的意思
- 2017.10.26 星际贸易 思考记录
- type=file的未选择任何文件修改_Electron应用易“招黑”,轻松被修改并植入后门...
- [SQL面试经验] 经典sql面试题及答案第1期
- C++ opencv基于帧差法的关键帧提取
- Python好酷|抓包神器 mitmproxy
- python方差特征选择_特征选择-Filter过滤法(方差)
- IE条件注释意义及用法
- 皮德常《c++程序设计教程》第一章第二题:编写一个程序,要求用户输入一年12个月每月的降雨总数,并用一个float数组存储。
- 刷机大师独家支持android,刷机大师v3.4.5发布 独家支持荣耀6一键刷机
- 九章算法 | 苏州微软面试题:程序检查
- Javascript中删除数组中重复出现的元素
- 【教你赚钱】5分钟成为副业致富的独立开发者