You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于订单号循环拆分Numpy数组并写入新数组的技术问题

按订单号分组拆分Numpy数组的优化方案

我是Python新手,正在做第一个Selenium项目。从Excel读取到一组已按订单号排序的Numpy数组,原始数据结构如下:

原始表格:

order number    customer name   customer no.    article
48000100        supplierx       1               article1
48000101        suppliery       2               article2
48000101        suppliery       2               article3
48000102        supplierz       3               article4

对应的Numpy数组:

import numpy as np

list1 = np.array([
    ["48000100","48000101","48000101","48000102"],
    ["supplierx","suppliery","suppliery","supplierz"],
    ["1","2","2","3"],
    ["article1", "article2", "article3", "article4"]
])

需求

循环遍历该数组,按订单号拆分后得到子数组,拆分后每次循环输出的结果如下:
第一次循环:

[["48000100"],
 ["supplierx"],
 ["1"],
 ["article1"]]

第二次循环:

[["48000101","48000101"],
 ["suppliery","suppliery"],
 ["2","2"],
 ["article2", "article3"]]

最后一次循环:

[["48000102"],
 ["supplierz"],
 ["3"],
 ["article4"]]

拆分后需要逐次通过Selenium提交到网页,每次提交完成后WebDriver返回首页再处理下一组,所以必须用循环实现,不能用单行代码。

我当前的实现代码

最初尝试用np.delete按轴分离数组,但没法把删除的列存入新数组,于是写了下面的循环代码实现需求:

import numpy as np

list1 = np.array([
    ["48000100","48000101","48000101","48000102"],
    ["supplierx","suppliery","suppliery","supplierz"],
    ["1","2","2","3"],
    ["article1", "article2", "article3", "article4"]
])

current_pos_arr = 0
total_cols = len(list1[0])

while current_pos_arr <= total_cols - 1:
    # 确定当前订单号的连续列数
    if current_pos_arr != total_cols - 1:
        if list1[0][current_pos_arr + 1] == list1[0][current_pos_arr]:
            count_same_orders = current_pos_arr + 1
        else:
            count_same_orders = current_pos_arr
    else:
        count_same_orders = current_pos_arr
    
    # 截取当前订单对应的子数组
    list2 = list1[:, current_pos_arr:count_same_orders + 1]
    print(list2)
    
    # --- Selenium处理逻辑 ---
    # 提交拆分后的数组到SAP页面
    # 从list2中获取供应商名称等信息填入
    # 校验订单号并执行相关操作
    # 完成后返回首页
    # ------------------------
    
    # 移动到下一组订单的起始位置
    current_pos_arr = count_same_orders + 1

现在想寻求更简洁、高效的实现思路或代码。


内容的提问来源于stack exchange,提问作者Conference Call

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 19:31:09