京公网安备 11010802034615号
经营许可证编号:京B2-20210330
Python中的Pandas库可以读写xlsx和xls格式的Excel文件,但是如果需要读写包含宏的xlsm格式文件,则需要使用其他的工具或库。
XLSM文件是基于XML的电子表格文件,允许用户在其中嵌入VBA(Visual Basic for Applications)宏代码。由于这些宏代码可能会执行任意操作,包括修改电子表格本身,因此许多应用程序都禁止了它们的使用,以防止潜在的安全漏洞。
虽然Pandas本身没有直接支持读取xlsm文件的功能,但是我们可以使用openpyxl或者xlwings等其他库来处理这种类型的文件。下面分别介绍它们的具体用法。
Openpyxl是一个Python库,用于读写Excel 2010 xlsx / xlsm / xltx / xltm文件。使用openpyxl,可以使用Python脚本自动化Excel文件的创建、修改、读取和保存等操作。以下是如何使用openpyxl读取和写入xlsm文件的示例代码:
import openpyxl # 打开工作簿 workbook = openpyxl.load_workbook('example.xlsm', keep_vba=True) # 选择工作表 worksheet = workbook['Sheet1'] # 读取单元格的值 cell_value = worksheet.cell(row=2, column=2).value # 写入单元格的值 worksheet.cell(row=3, column=3, value='New Value') # 保存工作簿 workbook.save('example.xlsm')
在加载工作簿时,需要设置keep_vba参数为True,以便保留xlsm文件中的VBA宏代码。然后可以使用工作表对象和单元格对象读取和修改数据,最后使用save方法保存修改后的文件。
xlwings是一个用于实现Python和Excel之间互操作性的库。它允许您在Python中调用Excel中的宏、函数和公式,也可以将Python脚本嵌入到Excel中执行。以下是如何使用xlwings读取和写入xlsm文件的示例代码:
import xlwings as xw # 打开工作簿 workbook = xw.Book('example.xlsm') # 选择工作表 worksheet = workbook.sheets['Sheet1'] # 读取单元格的值 cell_value = worksheet.range('B2').value # 写入单元格的值 worksheet.range('C3').value = 'New Value' # 保存工作簿 workbook.save()
在使用xlwings时,可以使用Book对象打开工作簿,然后使用Sheets集合对象选择要操作的工作表。接下来可以使用Range对象读取和修改单元格的数据,最后使用Save方法保存修改后的文件。
总结而言,如果需要处理包含宏的xlsm格式文件,可以使用openpyxl或xlwings这样的Python库进行操作。虽然Pandas库本身不支持直接读写xlsm文件,但是可以通过这些库来实现Python和Excel之间的数据交换和互操作。
推荐学习书籍
《CDA一级教材》适合CDA一级考生备考,也适合业务及数据分析岗位的从业者提升自我。完整电子版已上线CDA网校,累计已有10万+在读~

免费加入阅读:https://edu.cda.cn/goods/show/3151?targetId=5147&preview=0
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
很多数据分析师精通描述性统计,能熟练计算均值、中位数、标准差,但当被问到“用500个样本如何推断10万用户的真实满意度” ...
2026-06-26在数字化管理与数据化运营体系中,指标是连接原始数据与业务决策的核心载体。零散的原始数据只是无意义的数值堆砌,无法直接反映 ...
2026-06-25在Excel数据汇总、财务统计、业务复盘等日常办公场景中,经常需要完成逐行相乘、整体汇总求和的计算需求,最典型的场景就是:单 ...
2026-06-25 很多数据分析师沉迷于复杂的机器学习算法,却忽略了数据分析最基础也最核心的能力——描述性统计。事实上,80%的商业分析问 ...
2026-06-25【核心关键词】主数据、资产、供应商、现金流、企业、精细化、集团、数字化、中国、数据质量、数据管理、经营管理、地产行业、 ...
2026-06-24在数据分析、假设检验、AB测试、学术研究等统计场景中,显著水平(α)与P值(P-value)是判断统计结果是否具有统计学意义的两个 ...
2026-06-24小李刚入职了一家互联网公司的运营部门。第一次参加业务复盘会,运营主管问了一个看似简单的问题:“这个月新用户留存率下降了5 ...
2026-06-24在数字化转型全面渗透的产业背景下,数据分析已成为互联网、金融、零售、制造等几乎所有行业的核心岗位能力。很多初学者对数据分 ...
2026-06-23在企业并购、股权定价、投融资评估、资产核算等资本市场核心场景中,市场法是应用最广泛、市场认可度最高的企业价值评估方法。传 ...
2026-06-23 许多数据分析师精通Excel函数和SQL查询,但当面对一张上万行的销售明细表,要快速回答“哪个地区销量最高”“哪款产品增长最 ...
2026-06-23【核心关键词】运营、证书、金融、客户、产品、软件、销售额、量化、科技、数据分析、金融行业、证券类软件、业务流程、金融机 ...
2026-06-22在企业方案选型、产品迭代评审、供应商筛选、运营效果复盘等决策场景中,单一指标的优劣判断往往无法支撑科学决策。一套转化效果 ...
2026-06-22 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-06-22【核心关键词】软件、洞察力、大数据、产品、经验、硬件、流量、创新、决策、数据安全、网络安全、数据分析、决策制定、数据挖 ...
2026-06-18在方案选型、效果复盘、产品评估、供应商筛选等各类业务决策场景中,仅凭单一指标下结论往往会陷入 “以偏概全” 的误区。多维度 ...
2026-06-18 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-06-18在数据分析、用户运营与业务增长的工作体系中,漏斗拆解是最基础也最高频的问题定位方法。很多业务场景下,我们只能看到最终的转 ...
2026-06-17在数据库开发、数据清洗与报表统计场景中,数值类型转换为日期是高频刚需操作。业务系统常以 Unix 时间戳、整型日期(如20240617 ...
2026-06-17 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-06-17【核心关键词】数据库、电商、知识、产品、数据产品、监管业务、产品经理、业务系统、用户行为分析、用户分析、数据分析、电商 ...
2026-06-16