Python银行数据分析之--民生银行数据转换

Python银行数据分析之--民生银行数据转换


    # 民生银行数据转换
    def cmbcBankProcessDo(t, companyName, accountingTitle, begin):
        t = t[4:]
        # 倒序输出
        # t.reverse()

        # 主体公司 会计科目
        # companyName, accountingTitle, begin = input("输入主体公司:"), input("输入会计科目:"), input("输入期初数:")

        new_list = []
        n = 0
        new_list.append(
            ["序号", "交易ID", "支出金额", "存入金额", "账户余额", "承担主体", "对方开户行", "对方账号", "对方户名", "银行摘要", "凭证号", "凭证摘要", "凭证锁单状态",
             "交易时间",
             "主键", "交易日期", "主体公司", "会计科目", "期末数", "期初数"])

        for i in range(len(t)):

            if not t[i][0]: continue

            # tradeDateTime   = "{}-{}-{} {}:{}:{}".format(t[i][0][:4],t[i][0][4:6],t[i][0][6:],t[i][1][:2],t[i][1][2:4],t[i][1][4:])
            tradeDate = "{}-{}-{}".format(t[i][0][:4], t[i][0][4:6], t[i][0][6:])
            tradeDateStr = t[i][0]

            row_list = []
            n = n + 1
            row_list.append("=IF(O2<>O1,1,A1+1)")  # 序号
            row_list.append("")  # 交易ID

            # 支出金额
            if t[i][1]:
                row_list.append(t[i][1])
            else:
                row_list.append("0")

            # 存入金额
            if t[i][2]:
                row_list.append(t[i][2])
            else:
                row_list.append("0")

            # 账户余额
            if t[i][3]:
                row_list.append(t[i][3])
            else:
                row_list.append("0")
            row_list.append("")  # 承担主体
            row_list.append(t[i][6])  # 对方开户行
            row_list.append(t[i][4])  # 对方账号

            # 对方户名
            if t[i][5]:
                row_list.append(t[i][5])
            else:
                row_list.append(t[i][8])

            row_list.append("{}{}".format(t[i][8], t[i][7]))  # 银行摘要
            row_list.append("")  # 凭证号
            row_list.append("")  # 凭证摘要
            row_list.append("")  # 凭证锁单状态

            row_list.append(tradeDate)  # 交易时间

            # 主键 {公司名}20200828{会计科目}
            row_list.append("{}{}{}".format(companyName, tradeDateStr, accountingTitle))
            row_list.append(tradeDate)  # 交易日期
            row_list.append(companyName)  # 主体公司
            row_list.append(accountingTitle)  # 会计科目
            row_list.append(begin)  # 期末数
            row_list.append(begin)  # 期初数
            new_list.append(row_list)

        # 按第一顺序 主键 第二顺序 运单号 倒序排序
        # new_list = sorted(new_list,key=(lambda x:[x[0],x[2]]),reverse=True)

        return new_list
posted @ 2020-11-13 09:23  c_b  阅读(313)  评论(0)    收藏  举报