使用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)