python - 使用 Pandas 迭代 CSV 行,执行 Selenium 操作

标签 python pandas selenium

我有一个使用 Pandas 创建的 CSV 文件。下面是以下代码的输出:

   test = pd.read_csv('order.csv', header=0)
   print(test.head())

      3  16258878505032
   0  3  16258876670024
   1  3  16258876899400
   2  3  16258876997704

我唯一需要处理的数据是第2列中的信息和第3列中的信息。这是采购订单数据,其中第二列代表“数量”,第三列代表“sku”。

我需要获取第 1 行第 2 列并使用 selenium 将其注入(inject)到输入字段中。我需要第 1 行第 3 列并执行在网页上选择 sku 的操作。将商品添加到购物车并循环返回流程第 2 行、第 3 行等。

我知道如何编写 selenium 代码来执行基于 Web 的操作,但不确定如何编写 pandas/python 代码来一次一行地迭代 CSV 文件以及如何调用这些值。我的逻辑如下。

read order.csv
    get quantity value and sku value for row (one row at the time)
        visit website, inject quantity value
        remain on website, select sku
        add to cart

        repeat loop until no more rows to process

感谢您的帮助。

最佳答案

首先使用read_csv中的参数names为了避免将第一行数据转换为列名称:

test = pd.read_csv('order.csv', names=['quantity','sku'])
print (test)
   quantity             sku
0         3  16258878505032
1         3  16258876670024
2         3  16258876899400
3         3  16258876997704

因为可以使用selenium和网络使用DataFrame.iterrows或其他循环解决方案:

def func(x):
    q = x['quantity']
    sku = x['sku']
    print (q, sku)
    #add selenium code

df.apply(func, axis=1)

或者:

for i, row in test.iterrows():
    q = row['quantity']
    sku = row['sku']
    print (q, sku)
    #add selenium code

关于python - 使用 Pandas 迭代 CSV 行,执行 Selenium 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55091244/

相关文章:

python - 有没有一种好方法可以从 Alpha Vantage API 中仅提取今天的股市日期数据?

python - Pandas 如何访问多索引 DataFrame 以选择值来制作热图..!

Python 将数据框与日期列表进行比较,并根据结果分配一个字符串

java - 如何在断言中将值写入字符串

c++ - 使 C++ 暂停

python - mod_wsgi 和 python 的多个安装

python - 连接矩阵中的字符串python

python - 在 python 中使用 pandas 将关键字与数据框列映射

angularjs - Protractor 测试(在 Angular 站点上使用 Selenium 和 Chrome)给出错误的 x 和 y 点

javascript - Selenium 使用 Xpath 读取隐藏 Web 元素的文本