利用Openyxl为excel批量插入表头行(Excel读写基础操作)——上
目的:为根目录下所有Excel文件的所有Sheet在首行添加表头
方法:
- 建立根目录的镜像文件夹结构
- 建立根目录下Excel文件的镜像空文件
- 在镜像空文件中写入表头(表头含Sheet行数统计值)
- 将根目录中源Excel文件的内容(Cell值)写入镜像文件中
注意如需带公式拷贝时不适用
代码如下:
#coding=UTF-8#对于每个excel
#遍历sheet,复制内容
#写入新文件(已预先写好表头)import os
import openpyxl
root = r'D:\PythonCode_inWork\excel'#需要处理excel的根目录
root_root,root_dir_name = os.path.split(root)#优先遍历父目录、不遍历目录下的快捷方式
#os.walk()中topdown=True从父到子,topdown=False代表从子到父遍历
#root相对根目录、及其下属dirs文件夹、本层files文件(不含子文件夹文件)
file_walk = os.walk(root, topdown=True, onerror=None, followlinks=False)###新建好处理后成果——root的镜像文件夹rootnew,注意topdown=True
ls = []
for root, dirs, files in file_walk:new_root = root.replace(root_dir_name,root_dir_name+'_new')
## print(new_root) os.mkdir(new_root)for file in files:file_path = os.path.join(root,file)print(file_path)if '.xlsx' in file_path:注意excel有多种后缀格式ls.append(file_path)
##print(ls)##ws for worksheet
##wb for workbook
num = 0#遍历根目录下所有excel文件
for xlsx_path in ls:num += 1new_xlsx_path = xlsx_path.replace(root_dir_name,root_dir_name+'_new')new_xlsx_root,file_name = os.path.split(new_xlsx_path)#将文件名和根目录分开os.chdir(new_xlsx_root)#新建同名workbookwb_new = openpyxl.Workbook() wb_old = openpyxl.load_workbook(xlsx_path)#遍历源excel中的sheetfor sheet in wb_old:#新建与源sheet同名sheetws_new = wb_new.create_sheet()ws_new.title = sheet.title#复制源文件的sheet名称#01写入表头A1 = sheet.max_row#len(tuinle(sheet.rows))ws_new.append([A1, '1', '1','过程线'])#注意先保存文件,否则文件不存在wb_new.save(new_xlsx_path)#02复制原sheet内容ws_old = wb_old[sheet.title]ws_new = wb_new[sheet.title] #两个for循环遍历整个源sheet的单元格内容for i,row in enumerate(ws_old.iter_rows()):for j,cell in enumerate(row):#因为插入一行表头,所以行数整体下移一行写入ws_new.cell(row=i+2, column=j+1, value=cell.value)#注意保存,保存后excel文件才存在wb_new.save(new_xlsx_path)#删除新建excel中多余的'sheet'页wb_new.remove_sheet(wb_new.get_sheet_by_name('Sheet'))#保存新excelwb_new.save(new_xlsx_path)print('共{}个修改后excel文件新建完成!'.format(num))
print('请在excel根目录的上级文件中寻找同名_new文件夹!')#workbook: 工作簿,一个excel文件包含多个sheet。
#sheet:工作表,一个workbook有多个,表名识别,如“sheet1”,“sheet2”等。
#cell: 单元格,存储数据对象
利用Openyxl为excel批量插入表头行(Excel读写基础操作)——上相关推荐
- Excel批量插入多行空白行
如图1,A列是业务名称,有27个,需要在A列右侧增加一个字段省份,要把31省份都添加,生成结果部分内容截图如图2,就是从第2行开始每行插入30行,如何批量插入呢? 图 1 图 2 Step1:在B列插 ...
- excel批量插入n行
使用的是网上找的一段代码,具体含义没有弄清楚,先能用再说. 每次添加积压工作项的时候,难免需要每隔多少行就插入几行,之前都是收到加的,有点繁琐,找到一段VBA代码,不是自己刚好要的,但是改改也能用. ...
- Excel批量插入多行
右键→插入,如图: 插入多行(F4重复上一次操作) 正解,如图:
- Excel 如何批量插入多行空白行
Excel批量插入多行空白行 关注微信公众号[异步图书]每周送书 如图1,A列是业务名称,有27个,需要在A列右侧增加一个字段省份,要把31省份都添加,生成结果部分内容截图如图2,就是从第2行开始每行 ...
- Excel批量插入多个空行-VBA实现
需求 我们要向Excel表格中批量插入多行空白格时,原数据行数和要插入的空行数很多时,就非常麻烦.VBA是Excel(ofice)自带的编程环境.码.经验交流QQ群:613879714,有问题QQ群提 ...
- Excel批量插入多个空白行(列)-Python实现(openpyxl库)
需求 我们要向Excel表格中批量插入多行空白格时,原数据行数和要插入的空行数很多时,就非常麻烦.让Python帮你自动化办公.源码.经验交流QQ群:613879714,有问题QQ群提问,这里不能及时 ...
- 钢琴键盘excel_如何通过键盘在Excel中插入新行?
钢琴键盘excel If you are a keyboard ninja, then you hate having to move your hands from the keyboard for ...
- excel删除无尽空白行_全了!Excel批量插入空行、批量删除空行、隔行插入空行技巧...
Excel有很多批量操作技巧,如果掌握了这些技巧,工作效率会得到一定程度的提升. 下面介绍3个常用的批量操作技巧. 技巧1.批量插入空行 当选中单元格区域后,按住Shift键,将鼠标移动到所选区域的右 ...
- Excel 文件怎么批量插入首页、扉页、尾页?怎么将某个 Excel 文件批量插入到其它 Excel 文件的指定位置?
概要:在我们日常办公中,经常会碰到需要给一批 Excel 文件批量插入首页或者尾页,或者在指定的位置插入新的 Sheet 的需求.「我的ABC软件工具箱」就实现了批量在指定位置插入新的内容的功能,可以 ...
- excel批量插入图片
使用EXCEL的VBA功能,在代码窗口输入如下代码,作相应的修改,然后执行就可以了: Sub 批量插入图片() On Error Resume Next Dim i As Integer Dim 末行 ...
最新文章
- 使用ajaxfileupload.js实现文件上传
- iOS下音视频通信-基于WebRTC
- 解密PreAngel区块链布局:平台协议类项目占4成,多个项目蓄势待发
- tiny core linux arm,极度简约 最小 Linux 发行版 Tiny Core Linux 7.1 发布
- python 批量创建变量_Python批量生成和调用变量
- Android属性动画 PropertyValuesHolder
- 大型互联网公司架构演进之路汇总
- Windows Git客户端搭建
- Spring Boot中使用Actuator的/info端点输出Git版本信息
- 右键文件夹电脑卡死?
- c++ 原子操作 赋值_Volatile深度剖析-原子性
- Samsung NVM Express Driver(三星nvme固态驱动)v3.1官方版
- Apache服务停止:信号灯超时时间已到,指定的网络名不再可用
- python re sub模块字符串提取非字母非数字_7.python之正则表达式re模块
- Canal.deployer 启动报错说CHARACTER SET 'utf8' COLLATE 'utf8_unico', expect null,rkdown编辑器
- 如何通过付费咨询,薅知乎的羊毛?
- 计算机网络的社会环境分析_2020年昆仑银行分行社会招聘工作人员公告
- 极客时间专栏内容的个人分析
- 层次聚类——linkage方法
- note4 android5.1.1,三星N9109W note4安卓5.1.1五件套刷机包固件N9109WKEU1COL5