当前位置 博文首页 > 文章内容

    Python List Excel 改单列表合并为一条

    作者: 栏目:未分类 时间:2020-11-13 9:00:48

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    改单列表合并为一条

    
        # 改单列表合并为一条
        def changeBillMerge(t):
            # 按主键第一顺序 时间第二顺序 倒序排序
            t = sorted(t, key=(lambda x: [x[0], x[7]]), reverse=True)
    
            new_list = []
            new_list.append(["录入时间", "托单号", "查货编号", "揽货站点", "到站", "货到站点", "发货方", "发货联系人", "发货手机", "发货电话", "发货单位", "发货地址", "收货人", "收货手机","收货单位", "收货地址", "收货电话", "货名", "包装", "件数", "重量(t)", "体积", "货值", "保费含", "单价", "已付", "支付方式", "欠付","打卡","到付", "回付", "月付", "货款抵扣", "代收货款", "运费", "费用总计", "预算差额", "现返", "欠返", "送货费含", "提货费含", "装卸费含","垫付运费", "上楼费含", "录入人名", "送提", "备注", "回执单号", "回执数", "托单日期", "托单状态", "预算其他", "预算送货", "预算中转", "手续费到付", "手续费欠付","手续费现付"])
    
            for i in range(len(t)):
                # print(t[i][0],'\t',t[i][7])
                # 提取修改记录
                t5list = t[i][5].split(";")
                t5list = [j for j in t5list if j != '']  # 删除空元素
    
                # 分析修改数据,解析具体内容为多单号list
                for x in t5list:
                    tlist = []
                    for x1 in range(57): tlist.append("")
                    tlist[1], tlist[0], tlist[49] = t[i][0], t[i][7], t[i][7][:10]
    
                    # print(x, end="\t")
                    x0 = x.split("【")[0]
                    if x0 == "托单号":
                        tlist[1] = x.split("改为【")[1][:-1]
                    elif x0 == "到站":
                        tlist[4] = x.split("改为【")[1][:-1]
                    elif x0 == "货到站点":
                        tlist[5] = x.split("改为【")[1][:-1]
                    elif x0 == "发货方":
                        tlist[6] = x.split("改为【")[1][:-1]
                    elif x0 == "发货人":
                        tlist[7] = x.split("改为【")[1][:-1]
                    elif x0 == "发货人手机":
                        tlist[8] = x.split("改为【")[1][:-1]
                    elif x0 == "收货人":
                        tlist[12] = x.split("改为【")[1][:-1]
                    elif x0 == "收货人手机":
                        tlist[13] = x.split("改为【")[1][:-1]
                    elif x0 == "收货地址":
                        tlist[15] = x.split("改为【")[1][:-1]
                    elif x0 == "货名":
                        tlist[17] = x.split("改为【")[1][:-1]
                    elif x0 == "包装":
                        tlist[18] = x.split("改为【")[1][:-1]
                    elif x0 == "件数":
                        tlist[19] = x.split("改为【")[1][:-1]
                    elif x0 == "重量":
                        tlist[20] = x.split("改为【")[1][:-1]
                    elif x0 == "体积":
                        tlist[21] = x.split("改为【")[1][:-1]
                    elif x0 == "保费含":
                        tlist[23] = x.split("改为【")[1][:-1]
                    elif x0 == "已付":
                        tlist[25] = x.split("改为【")[1][:-1]
                    elif x0 == "欠付":
                        tlist[27] = x.split("改为【")[1][:-1]
                    elif x0 == "打卡":
                        tlist[28] = x.split("改为【")[1][:-1]
                    elif x0 == "到付":
                        tlist[29] = x.split("改为【")[1][:-1]
                    elif x0 == "回付":
                        tlist[30] = x.split("改为【")[1][:-1]
                    elif x0 == "月付":
                        tlist[31] = x.split("改为【")[1][:-1]
                    elif x0 == "代收货款":
                        tlist[33] = x.split("改为【")[1][:-1]
                    elif x0 == "运费":
                        tlist[34] = x.split("改为【")[1][:-1]
                    elif x0 == "现返":
                        tlist[37] = x.split("改为【")[1][:-1]
                    elif x0 == "欠返":
                        tlist[38] = x.split("改为【")[1][:-1]
                    elif x0 == "送货含":
                        tlist[39] = x.split("改为【")[1][:-1]
                    elif x0 == "提货含":
                        tlist[40] = x.split("改为【")[1][:-1]
                    elif x0 == "装卸含":
                        tlist[41] = x.split("改为【")[1][:-1]
                    elif x0 == "上楼含":
                        tlist[43] = x.split("改为【")[1][:-1]
                    # elif x0 == "其他含":
                    #     tlist[18] = x.split("改为【")[1][:-1]
                    elif x0 == "录单人姓名":
                        tlist[44] = x.split("改为【")[1][:-1]
                    elif x0 == "送货方式":
                        tlist[45] = x.split("改为【")[1][:-1]
                    elif x0 == "备注说明":
                        tlist[46] = x.split("改为【")[1][:-1]
                    elif x0 == "回执数":
                        tlist[48] = x.split("改为【")[1][:-1]
                    elif x0 == "托单日期":
                        tlist[49] = t[i][7][:10] # 此处注意 是改单录入时间
                    else:
                        print("<<<<-----",x0, end="\t")
                        print(x.split("改为【")[1][:-1],"-----<<<<  未收录数据",)
                    new_list.append(tlist)
                # print("-----------%d------------" % i)
    
            # 将多单号合并为一个单号
            tlist = []
            for i in range(len(new_list)):
                # 第一行直接复制
                if i == 0 :
                    tlist.append(new_list[i])
                    continue
                # 第二行 和前一行单号不同 直接复制 单号相同 合并
                if new_list[i][1] != new_list[i-1][1]:
                    tlist.append(new_list[i])
                else:
                    for j in range(len(new_list[i])):
                        if new_list[i][j]:
                            tlist[-1][j] = new_list[i][j]
    
            # print(tlist[:16])
            # print(len(tlist))
    
            return tlist