我有一个简单的脚本可以读取谷歌表格。 如果工作表中有多于一行,它工作得很好。 但是,如果工作表只有一行,则 for 循环存在于一个循环之后。 我希望循环返回并显示输入文本,即使工作表中只有一行。
# Call the Sheets API
sheet = service.spreadsheets()
result = sheet.values().get(spreadsheetId=sheetID,
range=SAMPLE_RANGE_NAME).execute()
values = result.get('values', [])
#print(values)
if not values:
print('No data found.')
else:
for row in values:
x = input('Please type\n "r" for (r)egex check \n "n" for (n)etwork check \n ')
if x == 'r' or x == 'R':
for row in values:
hostname = row[0]
check_reg(hostname)
elif x == 'n' or x=='N':
for row in values:
network = row[4]
netCmd = 'ipaddr'
print('\n network',network)
subprocess.call(netCmd, shell=True)
elif x=='x' or x=='X':
break
else:
print('Only n,x,r values accepted.')
最佳答案
使用 IF
语句,然后仅当工作表超过 1 行时才进入循环似乎可行。
请注意,IF
语句应该在进入 for 循环
之前但在检查工作表是否为空之后。
关于Python google sheets,for循环在一个循环后退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57973735/