目的:为根目录下所有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读写基础操作)——上相关推荐

  1. Excel批量插入多行空白行

    如图1,A列是业务名称,有27个,需要在A列右侧增加一个字段省份,要把31省份都添加,生成结果部分内容截图如图2,就是从第2行开始每行插入30行,如何批量插入呢? 图 1 图 2 Step1:在B列插 ...

  2. excel批量插入n行

    使用的是网上找的一段代码,具体含义没有弄清楚,先能用再说. 每次添加积压工作项的时候,难免需要每隔多少行就插入几行,之前都是收到加的,有点繁琐,找到一段VBA代码,不是自己刚好要的,但是改改也能用. ...

  3. Excel批量插入多行

    右键→插入,如图: 插入多行(F4重复上一次操作) 正解,如图:

  4. Excel 如何批量插入多行空白行

    Excel批量插入多行空白行 关注微信公众号[异步图书]每周送书 如图1,A列是业务名称,有27个,需要在A列右侧增加一个字段省份,要把31省份都添加,生成结果部分内容截图如图2,就是从第2行开始每行 ...

  5. Excel批量插入多个空行-VBA实现

    需求 我们要向Excel表格中批量插入多行空白格时,原数据行数和要插入的空行数很多时,就非常麻烦.VBA是Excel(ofice)自带的编程环境.码.经验交流QQ群:613879714,有问题QQ群提 ...

  6. Excel批量插入多个空白行(列)-Python实现(openpyxl库)

    需求 我们要向Excel表格中批量插入多行空白格时,原数据行数和要插入的空行数很多时,就非常麻烦.让Python帮你自动化办公.源码.经验交流QQ群:613879714,有问题QQ群提问,这里不能及时 ...

  7. 钢琴键盘excel_如何通过键盘在Excel中插入新行?

    钢琴键盘excel If you are a keyboard ninja, then you hate having to move your hands from the keyboard for ...

  8. excel删除无尽空白行_全了!Excel批量插入空行、批量删除空行、隔行插入空行技巧...

    Excel有很多批量操作技巧,如果掌握了这些技巧,工作效率会得到一定程度的提升. 下面介绍3个常用的批量操作技巧. 技巧1.批量插入空行 当选中单元格区域后,按住Shift键,将鼠标移动到所选区域的右 ...

  9. Excel 文件怎么批量插入首页、扉页、尾页?怎么将某个 Excel 文件批量插入到其它 Excel 文件的指定位置?

    概要:在我们日常办公中,经常会碰到需要给一批 Excel 文件批量插入首页或者尾页,或者在指定的位置插入新的 Sheet 的需求.「我的ABC软件工具箱」就实现了批量在指定位置插入新的内容的功能,可以 ...

  10. excel批量插入图片

    使用EXCEL的VBA功能,在代码窗口输入如下代码,作相应的修改,然后执行就可以了: Sub 批量插入图片() On Error Resume Next Dim i As Integer Dim 末行 ...

最新文章

  1. 使用ajaxfileupload.js实现文件上传
  2. iOS下音视频通信-基于WebRTC
  3. 解密PreAngel区块链布局:平台协议类项目占4成,多个项目蓄势待发
  4. tiny core linux arm,极度简约 最小 Linux 发行版 Tiny Core Linux 7.1 发布
  5. python 批量创建变量_Python批量生成和调用变量
  6. Android属性动画 PropertyValuesHolder
  7. 大型互联网公司架构演进之路汇总
  8. Windows Git客户端搭建
  9. Spring Boot中使用Actuator的/info端点输出Git版本信息
  10. 右键文件夹电脑卡死?
  11. c++ 原子操作 赋值_Volatile深度剖析-原子性
  12. Samsung NVM Express Driver(三星nvme固态驱动)v3.1官方版
  13. Apache服务停止:信号灯超时时间已到,指定的网络名不再可用
  14. python re sub模块字符串提取非字母非数字_7.python之正则表达式re模块
  15. Canal.deployer 启动报错说CHARACTER SET 'utf8' COLLATE 'utf8_unico', expect null,rkdown编辑器
  16. 如何通过付费咨询,薅知乎的羊毛?
  17. 计算机网络的社会环境分析_2020年昆仑银行分行社会招聘工作人员公告
  18. 极客时间专栏内容的个人分析
  19. 层次聚类——linkage方法
  20. note4 android5.1.1,三星N9109W note4安卓5.1.1五件套刷机包固件N9109WKEU1COL5

热门文章

  1. 微信小程序云数据库使用讲解
  2. 记一次3dmax操作入门(二)模型导入,选择和显示
  3. 2021-03-30 libnice 应用 多线程
  4. NMDS非度量多维尺度分析
  5. python正弦波变方波_Python之OpenGL笔记(19):正弦波叠加为方波的GLSL实现
  6. 分享我是如何找房东直租省中介费 租房 找房 直租 经验
  7. 【中科院】分子生物学-朱玉贤第四版-笔记-第5-6讲 转录
  8. Win10“桌面”移至D盘
  9. word 大纲视图的生成
  10. ACM-水题 Demacia of the Ancients