python - 使用 Pandas 引用下一行值

标签 python excel python-3.x 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 多行:

|应用|

|应用程序名称1|

|应用程序名称2|

|应用程序名称3|

等等

问题

当遇到如下所示的表单字段时,我想一一引用每个“应用程序名称”(我使用 selenium 来完成此操作):

name = browser.find_element_by_id('slpt-createappdialog-app-name-inputEl')
name.send_keys('Appname3')

除了每次都输入文本“AppnameX”之外,我会调用下一行值。这可以做到吗?

最佳答案

您可以使用以下方法循环遍历列表中的所有应用程序:

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 是一个返回(索引,项目)对的生成器,项目部分通过 [1] 索引访问。

关于python - 使用 Pandas 引用下一行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45081599/

相关文章:

python - 为什么在 web2py 上打印 CSS 效果和 double 值?

python - Django + GoogleAppEngine 错误 : DJANGO_SETTINGS_MODULE is undefined

excel - 使用 Excel 查找组的两个成员是否出现在另一个组中

python - 使用 Wing IDE 将数据从 dbf 导入到 excel 电子表格

python - 二维数组第 0 个位置的所有元素 - Python

python-3.x - FastAPI TypeError : Object of type 'ModelMetaclass' is not JSON serializable

python - 类型错误 : '<' not supported between instances of 'SetuptoolsVersion' and 'SetuptoolsVersion'

python - 将 IP 列表与另一个 IP 列表或 IP 范围进行比较

JavaScript 数学计算 - 与 Excel 公式相比结果不同

python - argparse add_argument 来自字典