每次循环遍历所有纸张时,如何使单元格数增加1?我让它循环遍历不同的工作表本身,但我不确定如何为单元格值添加+1。
for sheet in sheetlist:
wsX = wb.get_sheet_by_name('{}'.format(sheet))
ws2['D4'] = wsX['P6'].value
我试图让['D4']
自动更改为D5,D6,D7 ......等等。
答案 0 :(得分:2)
不需要计数器或笨拙的字符串转换:openpyxl提供了一个用于编程访问的API。
for idx, sheet in enumerate(sheetlist, start=4):
wsX = wb[sheet]
cell = ws2.cell(row=idx, column=16)
cell.value = wsX['P6']
答案 1 :(得分:1)
for i, sheet in enumerate(sheetlist):
wsX = wb.get_sheet_by_name('{}'.format(sheet))
cell_no = 'D' + str(i + 4)
ws2[cell_no] = wsX['P6'].value
答案 2 :(得分:0)
在循环之外写下这个:
x = 'D4'
在循环中写下这个:
x = x[0] + str(int(x[1:])+1)
答案 3 :(得分:0)
试试这个...它已被评论,以便您了解它正在做什么。
#counter
i = 4
for sheet in sheetlist:
#looping from D4 to D25
while i <= 25:
wsX = wb.get_sheet_by_name('{}'.format(sheet))
#dynamic way to get the cell
cell1 = 'D' + str(i)
ws2[cell1] = wsX['P6'].value
#incrementing counter
i += 1