Bro*_*n77 5 python selenium pandas
我有一个使用 Pandas 创建的 CSV 文件。下面是以下代码的输出:
test = pd.read_csv('order.csv', header=0)
print(test.head())
3 16258878505032
0 3 16258876670024
1 3 16258876899400
2 3 16258876997704
Run Code Online (Sandbox Code Playgroud)
我唯一需要处理的数据是第二列中的信息和第三列中的信息。这是采购订单数据,其中第二列代表“数量”,第三列代表“sku”。
我需要获取第 1 行、第 2 列并使用 selenium 将其注入到输入字段中。我需要第 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
Run Code Online (Sandbox Code Playgroud)
感谢您的帮助。
首先使用参数names来read_csv避免将第一行数据转换为列名:
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
Run Code Online (Sandbox Code Playgroud)
因为使用selenium和 web 可以使用DataFrame.iterrows或其他循环解决方案:
def func(x):
q = x['quantity']
sku = x['sku']
print (q, sku)
#add selenium code
df.apply(func, axis=1)
Run Code Online (Sandbox Code Playgroud)
或者:
for i, row in test.iterrows():
q = row['quantity']
sku = row['sku']
print (q, sku)
#add selenium code
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20869 次 |
| 最近记录: |