我正在尝试从工作簿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 ...如果这有效)
四季花海
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
添加回答
举报
0/150
提交
取消