我有一个Excel工作表,其中有两个不同的列,我想一次从一个地方获取数据,说来自A2和B2的数据值,然后执行某些操作,然后再次获取来自B3和C3的值,依此类推..直到B50和C50。我为此编写了以下代码,但我认为这是不正确的。我也是python的新手,所以没有太多的知识。任何帮助,将不胜感激。预先感谢!
wb = openpyxl.load_workbook('Inputexcel.xlsm')
sheet = wb['Sheet1']
tup1 = (sheet['A2':'A50'])
tup2 = (sheet['B2':'B50'])
for i in range(0,48):
text = tup1[i].value
i+=1
我能够将其实现为单个值,并且还可以使用以下代码执行操作。但是我的主要目的是迭代我所面临问题的所有excel价值观。 单个值的代码:
wb = openpyxl.load_workbook('Inputexcel.xlsm')
sheet = wb['Sheet1']
text = sheet['A2'].value
eid = sheet['B2'].value
如果有帮助,也可以共享要执行的操作:
doc = docx.Document('mydoc.docx')
doc.paragraphs[9].runs[6].clear()
doc.paragraphs[9].runs[6].text
doc.paragraphs[9].add_run(text).bold = True
doc.save('mydoc ' + str(eid) + '.docx')
答案 0 :(得分:1)
与其将单元格添加到tup1和tup2中,不如建议将值直接添加到tup1和tup2中……
wb = openpyxl.load_workbook('Book1.xlsx')
sheet = wb['Sheet1']
tup1 = []
tup2 = []
for i in range(2,50):
rowA ='A{0}'.format(i)
rowB = 'B{0}'.format(i)
tup1.append(sheet[rowA].value)
tup2.append(sheet[rowB].value)
print (tup1)
print (tup2)