找回密码
 会员注册
查看: 29|回复: 0

Python办公自动化:使用openpyxl创建与保存Excel工作簿

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
71892
发表于 2024-9-6 22:17:01 | 显示全部楼层 |阅读模式
1创建新的工作簿在开始任何Excel操作之前,首先需要创建一个工作簿。openpyxl提供了简单的接口来创建新的工作簿。创建一个空白的工作簿我们可以使用openpyxl.Workbook()来创建一个新的空白工作簿。以下是一个简单的示例:importopenpyxl#创建一个新的空白工作簿workbook=openpyxl.Workbook()#获取当前活动的工作表sheet=workbook.active#输出当前活动工作表的名称print("默认的工作表名称:",sheet.title)#默认名称为'Sheet'#保存工作簿workbook.save('new_workbook.xlsx')12345678910111213代码解释openpyxl.Workbook():创建一个新的空白工作簿对象。workbook.active:获取当前活动的工作表。默认情况下,openpyxl会为新创建的工作簿添加一个名为“Sheet”的工作表。workbook.save('new_workbook.xlsx'):将工作簿保存为一个文件,文件名为new_workbook.xlsx。小贴士一个工作簿可以包含多个工作表。在创建工作簿后,我们可以添加、删除或重命名工作表。active属性总是指向当前工作簿中打开的第一个工作表。2保存工作簿到指定位置保存工作簿是Excel操作中的基本步骤。我们可以通过指定路径和文件名来保存工作簿。保存到当前目录前面的例子已经展示了如何保存工作簿到当前脚本所在的目录。示例代码如下:importopenpyxl#创建一个新的工作簿workbook=openpyxl.Workbook()#保存工作簿到当前目录workbook.save('current_directory_workbook.xlsx')1234567保存到指定目录如果想将工作簿保存到指定的目录,可以在保存时指定完整的路径:importopenpyxl#创建一个新的工作簿workbook=openpyxl.Workbook()#保存工作簿到指定路径file_path='/path/to/your/directory/desired_filename.xlsx'workbook.save(file_path)12345678注意:请确保文件路径存在,否则保存操作将失败。代码解释workbook.save('file_path/desired_filename.xlsx'):将工作簿保存到指定的路径。路径应包含文件名和扩展名(.xlsx或.xlsm)。覆盖现有文件如果指定的文件名已存在,save()操作将覆盖该文件。为避免误操作,可以在保存前检查文件是否存在:importosimportopenpyxl#创建一个新的工作簿workbook=openpyxl.Workbook()#检查文件是否已存在file_path='existing_file.xlsx'ifos.path.exists(file_path):print(f"文件{file_path}已存在,将覆盖该文件。")else:print(f"文件{file_path}不存在,创建新文件。")#保存工作簿workbook.save(file_path)1234567891011121314153打开现有工作簿有时,我们需要打开并修改一个现有的Excel文件。openpyxl可以轻松实现这一点。打开一个现有的工作簿我们使用openpyxl.load_workbook()来加载现有的Excel文件:importopenpyxl#打开现有的工作簿workbook=openpyxl.load_workbook('existing_file.xlsx')#获取活动工作表sheet=workbook.active#输出当前活动工作表的名称print("当前活动工作表名称:",sheet.title)#显示A1单元格的值print("A1单元格的值:",sheet['A1'].value)12345678910111213代码解释openpyxl.load_workbook('existing_file.xlsx'):加载一个已经存在的Excel文件并创建工作簿对象。sheet['A1'].value:获取指定单元格的值。只读模式与写入模式只读模式:当处理非常大的Excel文件时,可以通过设置read_only=True来加载工作簿。这将显著减少内存占用,但不支持修改文件。写入模式:默认模式是可读写的。如果只需要读取数据,建议使用只读模式来提高效率。示例代码(只读模式):importopenpyxl#以只读模式打开现有工作簿workbook=openpyxl.load_workbook('existing_file.xlsx',read_only=True)#获取活动工作表sheet=workbook.active#显示A1单元格的值print("A1单元格的值:",sheet['A1'].value)123456789104文件格式:xlsxvsxlsm在使用openpyxl时,了解文件格式的区别非常重要。openpyxl主要支持以下两种文件格式:xlsx文件格式扩展名:.xlsx特点:这是Excel2007及以后的默认文件格式,支持丰富的Excel功能如图表、数据透视表、公式等。兼容性:大多数应用程序和库都支持.xlsx文件。xlsm文件格式扩展名:.xlsm特点:这是带有宏的Excel文件格式。宏是用VBA(VisualBasicforApplications)编写的小程序,可以自动执行某些任务。openpyxl可以读取.xlsm文件,但不能执行或编辑其中的宏。注意事项:如果你需要处理包含宏的Excel文件并希望保留这些宏,必须使用.xlsm格式保存。示例代码:保存为.xlsm文件importopenpyxl#创建一个新的工作簿workbook=openpyxl.Workbook()#保存为xlsm格式workbook.save('workbook_with_macros.xlsm')1234567
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-10 18:25 , Processed in 0.513642 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表