为了账号安全,请及时绑定邮箱和手机立即绑定

Openpyxl - 将单元格区域(带公式)从工作簿复制到另一个工作簿

Openpyxl - 将单元格区域(带公式)从工作簿复制到另一个工作簿

LEATH 2022-09-27 09:44:48
我正在尝试从工作簿1中复制特定行,并将其追加到工作簿2中的现有数据中。从工作簿 1 中复制突出显示的行,并将它们追加到“March”下方的工作簿 2 中到目前为止,我成功地复制并粘贴了范围,但有两个问题:1.单元格是移位的2.缺少百分比(公式),只留下数值。在此处查看结果import openpyxl as xlsource = r"C:\Users\Desktop\Test_project_20200401.xlsx"wbs = xl.load_workbook(source)wbs_sheet = wbs["P2"] #selecting the sheetdestination = r"C:\Users\Desktop\Try999.xlsx"wbd = xl.load_workbook(destination)wbd_sheet = wbd["A3"] #select the sheetrow_data = 0for row in wbs_sheet.iter_rows():    for cell in row:        if cell.value == "Yes":            row_data += cell.rowfor row in wbs_sheet.iter_rows(min_row=row_data, min_col = 1, max_col=250, max_row = row_data+1):    wbd_sheet.append((cell.value for cell in row))            wbd.save(destination)有没有人知道我该如何解决这个问题?任何反馈/解决方案都会有所帮助!谢谢!
查看完整描述

2 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

我认为min_col应该= 0

范围(“A1”)。公式(在 VBA 中)获取公式。范围(“A1”)。值(在 VBA 中)获取值。

因此,请尝试在蟒蛇中使用 .公式

(感谢:从单元格中获取公式 - VBA ...如果这有效)


查看完整回答
反对 回复 2022-09-27
?
四季花海

TA贡献1811条经验 获得超5个赞

只是想在这里添加我自己的解决方案。

我所做的是循环访问列并应用“cell.number_format= '0%',这会将您的单元格值转换为百分比。

for col in ws.iter_cols(min_row=1, min_col=2, max_row=250, max_col=250): 
   for cell in col:
        cell.number_format = '0%'

更多信息可以在这里找到: https://openpyxl.readthedocs.io/en/stable/_modules/openpyxl/styles/numbers.html


查看完整回答
反对 回复 2022-09-27
  • 2 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信