刚刚接触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')
不知道你这个问题是否已经解决, 如果还没有解决的话: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’