【发布时间】:2019-11-21 15:01:50
【问题描述】:
这是我的代码:
import openpyxl
wb = openpyxl.load_workbook("Bok1.xlsx", data_only=True)
ws = wb["Blad1"]
n = 0
for row in ws['A1:A100']:
for cell in row:
if cell.value == "Konto":
for hej in range(13):
n+=1
konto = cell.offset(row=n).value
if konto == None or isinstance(konto, str) == True:
pass
else:
if konto == 306888 or konto == 306889:
#derp = input("derpderpderp?: ")
#if derp == "y":
if konto == 306888 or konto == 306889:
kst = cell.offset(row=n, column = 1).value
proj = cell.offset(row=n, column = 2).value
vht = cell.offset(row=n, column = 3).value
motp = cell.offset(row=n, column = 4).value
fin = cell.offset(row=n, column = 5).value
text = cell.offset(row=n, column = 8).value
belopp = cell.offset(row=n, column = 9).value
print(konto)
print(kst)
print(proj)
print(vht)
print(motp)
正如您在代码中的 # 所见,我有一个“依赖于”循环的输入。我怎样才能编写这段代码,使其不会循环并在每次迭代时都要求输入?
【问题讨论】:
-
如果你不希望它发生在循环中,你为什么要把它放在循环中?
-
我不知道该放在哪里。我想要的结果是,在遍历 13 个单元格后:如果任何单元格包含 306888 或 306889:请求输入:如果输入为“y”:在这 13 个单元格中遇到的每个 306888 或 306889 右侧取 7 个值.
标签: python-3.x for-loop