python批量合并excel固定单元格数据
目的:相同格式的excel表,需要合并数据,手动输入太费事费力
缺点:读取大批量数据运行较慢(>10 min),写入多个表格更新行列较麻烦
import openpyxl
from win32com.client import Dispatch #添加此防止读出none值
路径="请输入路径\\表名.xlsx" #合并进的表
wb=openpyxl.load_workbook(路径) #打开表
ws=wb['Sheet1'] #打开sheet路径1="请输入路径\\表名1.xlsm" #需要合并的表
路径2="请输入路径\\表名2.xlsm" #需要合并的表def just_open(filename): #添加此防止读出none值xlApp = Dispatch("Excel.Application")xlApp.Visible = FalsexlBook = xlApp.Workbooks.Open(filename)xlBook.Save()xlBook.Close()just_open(路径1) #添加此防止读出none值
表= openpyxl.load_workbook(路径1, data_only=True) #读取数值,不读公式
sheet= 表['Sheet1'] #打开需要合并数据的那个Sheet
for i in range (447,455): #所取数值的行数x= sheet.cell(i, 5).value # 5 代表需要数值所在的列,获取数值ws.cell(row=i-446, column=3).value = x #在新表1-5行,3列写入数值
print('finish-1') #打印确保运行完成,可删去just_open(路径2) #添加此防止读出none值
表= openpyxl.load_workbook(路径2, data_only=True)
sheet= 表['Sheet1'] #打开需要合并数据的那个Sheet
for i in range (447,455): #所取数值的行数x= sheet.cell(i, 5).value # 5 代表需要数值所在的列,获取数值ws.cell(row=i-446, column=4).value = x #在新表1-5行,4列写入数值
print('finish-2') #打印确保运行完成,可删去wb.save('请输入路径\\表名2.xlsx') #给一个新的表名,并保存
后续通过 xlrd 和 xlwt 读取和写入数据,运行速度(<1 min):
import os
import xlwt
import xlrd
import xlrd3
import xlutils.copy
路径= xlrd.open_workbook("文件路径\\表名.xls", formatting_info = True) # 打开想保存的文件
wt = xlutils.copy.copy(路径) # 复制
sheet = wt.get_sheet(0) # 读取第一个工作表
j=0
k=0list=[
'文件路径\\表名1.xlsm',
"文件路径\\表名2.xlsm",] #采用list循环,但文件多时输入路径略繁琐,求指导简单方法for A in list:j=j+1k=k+1sheet1 = xlrd3.open_workbook(A).sheet_by_name('Sheet1')for i in range(452, 455):x = sheet1.cell(i, 26).value #读取数据sheet.write(i-452, j, x) #写入第1-2行,第1列数据sheet1 = xlrd3.open_workbook(A).sheet_by_name('Sheet2')for i in range(452, 455):x = sheet1.cell(i, 26).valuesheet.write(i-450, j, x) #写入第3-4行,第1列数据sheet1 = xlrd3.open_workbook(A).sheet_by_name('Sheet3')for i in range(452, 455):x = sheet1.cell(i, 26).valuesheet.write(i-448, j, x) #写入第5-6行,第1列数据wt.save("文件路径\\表名2.xls")
疑问:
1. 应该有更简便遍历文件名的方法代替 list=[''文件路径\\表名1.xlsm',"文件路径\\表名2.xlsm",]
2. sheet.write(i-452, j, x) #写入固定行列的 i-452 ,不知道应该用什么参数给代替,方便编写
萌新入门,看各位大佬的帖子写出来的,请多指点!
python批量合并excel固定单元格数据相关推荐
- 【知识兔】Excel教程:批量合并相同内容单元格神技
大家好,今天知识兔跟大家分享一下关于批量合并相同内容单元格的方法有哪些,这是一位同学在群里求助的案例,当时群内针对这个问题各位小伙伴们抛出了多种解决方法,索性知识兔小编就整理成专题文章来跟大家分享一下 ...
- python查找excel中内容_python excel表格数据-python 如何读取 excel 指定单元格内容
python 怎么从excel中读取数据 VLOOKUP是函数,给定一个查找的目标,它就能从指定的查找中查找返回想找到的值.它的基本语法为: VLOOKUP(查找目标,查找范围,返回值的列数,精确OR ...
- 如何使用python批量合并excel表格
使用Python批量合并Excel表格的方法主要可以通过Pandas库来实现,具体步骤如下: 首先需要导入Pandas库和os库: import pandas as pd import os
- python提取Excel多个sheet中固定单元格数据
有个Excel,里面有多个sheet,现在需要把每个sheet中固定单元格的数据提取出来 例如我的这个表格,每个月都有一个这样的表格,然后一共12个sheet存放了12个月的数据,现在我把每个shee ...
- Excel 2010 VBA 入门 033 批量合并相同的单元格
目录 Range的Merge方法合并单元格 VBA运行时关闭警告 多行中相同的内容处理 示例: Range的Merge方法合并单元格 单元格对象的Merge方法可以用来合并相邻的单元格区域,使之成为一 ...
- Excel中如何批量合并相同内容单元格
Excel表格录入数据后,发现一些部门名称重复录入太多,看上去也比较复杂,怎么才能将所有重复内容全部合并到一个单元格中去呢? 最终效果 1.首先,我们要选中需要合并的列,「数据」-「分级显示」-「分类 ...
- Python 技术篇 - 操作excel实现单元格合并并居中实例演示,用openpyxl库为指定区域的单元格设置对齐样式和字体样式方法
Openpyxl 设置 excel 单元格合并.对齐样式和字体 第一章:openpyxl 操作 excel ① 设置单元格合并 ② 设置单元格居中对齐样式 ③ 设置单元格字体样式 第一章:openpy ...
- 【实践3】Python pandas读取Excel指定单元格 / 在指定单元格插入数据,不改变Excel格式
简单介绍 有时会遇到只需将爬取的数据填入指定的单元格,而不需要更改Excel格式的情况,或是将一个Excel指定单元格内容复制后插入另一个Excel的单元格. 完整代码 import pandas a ...
- python批量合并excel文件,后缀名为xls
最近处理的一个项目需要用到批量合并excel表格,我就用python拼了一个代码,可以实现传入一个根目录,然后将该目录下所有的后缀名为xls的excel表格进行合并,将结果输出在根目录下 第三方库配置 ...
最新文章
- python在哪里学比较好-新手从Python的哪个版本开始学比较好?
- java socket 连接异常_java.net.SocketException:软件导致连接中止:套接字写错误
- [2020.11.27NOIP模拟赛]拼图王【dp】
- 获取Spring的ApplicationContext的几种方式
- 读取xml文件转成ListT对象的两种方法(附源码)
- Elasticsearch 支持哪些类型的查询?
- es用python增加字段_使用Python在ElasticSearch中添加@timestamp字段
- pyspider all 只启动了_我是如何让微博绿洲的启动速度提升30%的(二)
- 漫画:如何实现抢红包算法?
- java 根据类名示例化类_Java收集器类– 18个示例
- 第五节:STM32输入捕获(用CubeMX学习STM32)
- 机器视觉可以应用到哪些场景中?
- 蒟蒻的SCAU第一周个人排位赛赛后感想
- macOS 开发 - Move to Applications folder
- 制作自己专属的抓包工具
- 支付宝生活号h5网页--蚂蚁认证
- 绝地求生服务器延迟检测源码,绝地求生不停网络延迟检测怎么办 绝地求生网络问题解决办法...
- Drupal - 制作首页
- 飞机步道(plane trails)
- 上海海洋大学计算机专业是几本,上海海洋大学是几本 录取分数线一般在多少...