使用Pandas遍历CSV行,执行Selenium Action

时间:2019-03-10 18:59:50

标签: python pandas selenium

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

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

      3  16258878505032
   0  3  16258876670024
   1  3  16258876899400
   2  3  16258876997704

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

我需要进入第1行,第2列,并使用硒将其注入到输入字段中。我需要第1行第3列,并执行在网页上选择sku的操作。将商品添加到购物车中,然后循环回第2行,第3行等。

我知道如何编写硒代码来执行基于Web的操作,但不确定如何编写熊猫/ 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

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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