5个Python处理Excel小技巧,让你效率提升3倍!
2023-04-18 16:47:59 时间
Python是比较强大的语言,而且现在比较流行。我们经常看到很多广告说编程有多厉害,其中一样就是说python操作excel提高效率的。别人的课程怎样我不知道,这篇文章就来教一下怎么用Python操作excel,让工作效率得到提高。
批量新建并保存工作簿
import xlwings as xw # 导入库
# 启动Excel程序,但不新建工作簿
app = xw.App(visible = True, add_book = False)
for i in range(6):
workbook = app.books.add() # 新建工作簿
workbook.save(f'e:\file\test{i}.xlsx') # 保存新建的多个工作簿
workbook.close() # 关闭当前工作簿
app.quit() # 退出Excel程序
上面的代码是对工作簿最基本的操作,新建工作簿和保存工作簿,还有关闭当前工作簿。
import os
file_path = 'table'
file_list = os.listdir(file_path)
for i in file_list:
print(i)
列出文件夹下所有文件和子文件夹的名称,这是方便总结和查看文件的。
import xlwings as xw
app = xw.App(visible = False, add_book = False)
workbook = app.books.open('e:\table\统计表.xlsx')
worksheets = workbook.sheets # 获取工作簿中所有的工作表
for i in range(len(worksheets)): # 遍历获取到的工作表
worksheets[i].name = worksheets[i].name.replace('销售', '') # 重命名工作表
workbook.save('e:\table\统计表1.xlsx') # 另存重命名工作表后的工作簿
app.quit()
批量重命名一个工作簿中的所有工作表,这里面最重要的功能是对工作表worksheets进行操作。
import os
import xlwings as xw
file_path = 'e:\table\公司'
file_list = os.listdir(file_path)
app = xw.App(visible = False, add_book = False)
for i in file_list:
if i.startswith('~$'):
continue
file_paths = os.path.join(file_path, i) # 获取需要打印的工作簿的文件路径
workbook = app.books.open(file_paths) # 打开要打印的工作簿
workbook.api.PrintOut() # 打印工作簿
app.quit()
批量打印工作表,这里面用到的是workbook.api.PrintOut(),也就是调用打印机
import xlwings as xw
workbook_name = 'e:\table\产品销售表.xlsx' # 指定要拆分的来源工作簿
app = xw.App(visible = False, add_book = False)
header = None
all_data = []
workbook = app.books.open(workbook_name)
for i in workbook.sheets: # 遍历来源工作簿中的工作表
workbook_split = app.books.add() # 新建一个目标工作簿
sheet_split = workbook_split.sheets[0] # 选择目标工作簿中的第一个工作表
i.api.Copy(Before = sheet_split.api) # 将来源工作簿中的当前工作表复制到目标工作簿的第一个工作表之前
workbook_split.save('{}'.format(i.name)) # 以当前工作表的名称作为文件名保存目标工作簿
app.quit()
上面这段代码是拆分工作簿,原来也是比较简单,遍历原有工作簿中的工作表,然后把他们都copy到新的工作簿工作表中,然后再保存起来就行了。
相关文章
- Java CompletableFuture 异步超时实现探索
- 如何在WSL下交叉编译openwrt
- 动态代理-cglib分析
- Python修改柱状图边缘柱子与图边界的距离
- Java JDK Proxy和CGLib动态代理示例讲解
- 聊聊项目中定时任务的处理方式
- 面试被问到“类的加载过程”,怎么回答可以脱颖而出?
- WordPress4.6任意命令执行漏洞
- Python 同步和异步使用Redis集群的方法
- 聊聊我在微软外服大数据分析部门的工作经历及一些个人见解
- Azure Terraform(一)入门简介
- 如何实现千万级优惠文章的优惠信息同步
- python实战-基于正交实验(工具:allpairs)自动生成接口异常测试用例
- pytorch 配置详细过程
- day10-AOP-03
- day09-AOP-02
- Nmap脚本引擎原理
- win32com操作word API精讲&项目实战 预告
- Pytorch分类问题中的交叉熵损失函数使用
- python数据分析与可视化【思维导图】