使用Pandas引用下一行值
我正在编写一个脚本来填写表单,并希望从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')
除了每次input文本“AppnameX”之外,我都会调用下一行的值。 这可能吗?
您可以循环列表中的所有应用程序:
for app in df['application']: name.send_keys(app)
或者如果你有独立的语句创build一个循环,那么你可以通过使用一个生成器来获得列表中的下一个应用程序:
apps = df['application'].iteritems() for i in range(5): print(next(apps)[1]) print(next(apps)[1]) print(next(apps)[1])
这里apps是一个生成器,返回一个(索引,项目)对,项目部分用[1]索引访问。
IIUC你可以做这样的事情:
for app in df['Application'].unique(): # do your logic here ... print(app)