我正在编写一个脚本来填写表单,并希望引用Excel电子表格(一列)中的数据来填写重复出现的字段。
import pandas as pd
file = 'File Path Here'
xl = pd.ExcelFile(file)
df = pd.read_excel(file, 'Sheet1', index_col=None)
num = 1
li = [(df.iloc[0,0])]
def next_app():
for num, elem in enumerate(li):
thiselem = elem
nextelem = li[(num + 1) % len(li)]
print(nextelem)
next_app()
这显然打印 1值,但我不知道在需要的时候,如何在下一个之后调用每个行值。我确信for循环中有错误,或者我甚至需要for循环,但我不确定如何纠正它。
Excel文件包含一个名为“Application”的文本列,其中包含超过300行:
应用|
| APPNAME1 |
| Appname2 |
| Appname3 |
等
问题
我想在遇到如下表单字段时逐个引用每个'Appname'(我使用selenium来完成此操作):
name = browser.find_element_by_id('slpt-createappdialog-app-name-inputEl')
name.send_keys('Appname3')
除了每次都输入文本'AppnameX',我会调用下一行值。这可能吗?
答案 0 :(得分:1)
您可以使用以下内容遍历列表中的所有应用:
for app in df['application']:
name.send_keys(app)
或者如果您有单独的语句创建循环,那么您每次都可以使用生成器获取列表中的下一个应用程序:
apps = df['application'].iteritems()
for i in range(5):
print(next(apps)[1])
print(next(apps)[1])
print(next(apps)[1])
这里的apps是一个返回(index,item)对的生成器,使用[1]索引访问item部分。
答案 1 :(得分:0)
IIUC你可以这样做:
for app in df['Application'].unique():
# do your logic here ...
print(app)