python读取excel带公式的sheet表

刚刚接触python,现在需要读取一个带公式的xlsx格式的sheet1,需要把公式计算出的结果放到同文件下的sheet2下,还需要把结果再放在另一个xlsx格式的文件sheet下,请问有没有什么比较简单的办法

要实现您的要求,您可以使用Python的openpyxl库来读取和操作Excel文件。以下是一个示例代码,演示如何读取一个带公式的xlsx格式的sheet1,计算公式的结果放入sheet2并将结果写入另一个xlsx格式的文件sheet1下:

from openpyxl import load_workbook

# 打开第一个Excel文件
wb1 = load_workbook('input.xlsx', read_only=False)

# 获取sheet1
ws1 = wb1['Sheet1']

# 打开第二个Excel文件
wb2 = load_workbook('output.xlsx', write_only=True)

# 获取sheet1
ws2 = wb2['Sheet1']

# 遍历sheet1中的每一行
for row in ws1.iter_rows():
    # 获取单元格的值和公式
    value = row[0]
    formula = row[1]

    # 计算公式的结果
    result = eval(formula)

    # 将结果写入sheet2中
    ws2.append([value, result])

# 保存第二个Excel文件
wb2.save('output.xlsx')
不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客也许可以解决你的问题👉 :python对xlsx不同sheet的操作
  • 您还可以看一下 王涛老师的150讲轻松学习Python网络爬虫课程中的 Excel处理-打开Excel和获取Sheet小节, 巩固相关知识点
  • 除此之外, 这篇博客: Python实现Excel中的sheet复制(可跨文件操作、可保留原格式)中的 2 同一文件内复制 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    from openpyxl import load_workbook
    
    workbook = load_workbook(filename="wb.xlsx")
    sheet = workbook['Sheet1']
    target = workbook.copy_worksheet(sheet)
    workbook.save(filename="wb.xlsx")
    

    使用说明:
    "wb.xlsx"为Excel文件,根据需求改成需要复制的文件。
    'Sheet1’为Excel中需要被复制的Sheet名字,可根据需求修改。
    注意:
    该方法可以将原sheet中的格式保留复制。
    代码解析:
    这个方法调用workbook.copy_worksheet()内置函数,sheet是要被复制的文本,一定要记得保存(save)操作!
    复制的sheet的名字为‘原sheet名字 Copy’


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^