首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在不丢失宏的情况下使用pandas、openpyxl、xlwing更新现有的xlsm工作表

在不丢失宏的情况下使用pandas、openpyxl、xlwing更新现有的xlsm工作表,可以按照以下步骤进行操作:

  1. 导入所需的库和模块:
代码语言:txt
复制
import pandas as pd
from openpyxl import load_workbook
from xlwings import App, Book
  1. 使用pandas读取现有的xlsm工作表数据:
代码语言:txt
复制
df = pd.read_excel('path_to_existing_file.xlsm', sheet_name='sheet_name')
  1. 对数据进行处理和更新:
代码语言:txt
复制
# 进行数据处理和更新操作,例如修改某些单元格的值或添加新的数据
df['column_name'] = 'new_value'
  1. 使用openpyxl将更新后的数据写入到临时的xlsx文件中:
代码语言:txt
复制
df.to_excel('temp_file.xlsx', index=False)
  1. 使用xlwings打开原始的xlsm工作表,并将临时的xlsx文件中的数据复制到xlsm工作表中:
代码语言:txt
复制
app = App(visible=False)
book = Book('path_to_existing_file.xlsm')
wb = book.api
wb_temp = load_workbook('temp_file.xlsx')
ws_temp = wb_temp.active
ws = wb['sheet_name']

# 清空原始工作表中的数据
ws.delete_rows(2, ws.max_row)

# 将临时文件中的数据复制到原始工作表中
for row in ws_temp.iter_rows(min_row=2, values_only=True):
    ws.append(row)

# 保存并关闭工作表
wb.save()
wb.close()
app.quit()
  1. 删除临时的xlsx文件:
代码语言:txt
复制
import os
os.remove('temp_file.xlsx')

这样就可以在不丢失宏的情况下使用pandas、openpyxl、xlwing更新现有的xlsm工作表了。

注意:以上代码示例中的路径需要根据实际情况进行修改,同时需要根据具体需求进行适当的调整和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券