Python银行数据分析之--农业银行数据转换

Python银行数据分析之--农业银行数据转换



    # 农业银行数据转换
    def abcBankProcessDo(t, companyName, accountingTitle, begin):
        t = t[3:]
        # 倒序输出
        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][6]: continue

            if not t[i][1]:
                t[i][1] = "000000"

            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 = "{}{}{}".format(t[i][0][:4], t[i][0][4:6], t[i][0][6:])

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

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

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

            # 对方户名
            if (t[i][10] == "财付通" or t[i][10] == "支付宝") and not t[i][4]:
                row_list.append(t[i][10])
            elif (t[i][10] == "手续费" or t[i][10] == "转支" or t[i][10] == "逾期扣款") and not t[i][4]:
                row_list.append(t[i][6])
            else:
                row_list.append(t[i][4])

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

            row_list.append(tradeDateTime)  # 交易时间

            # 主键
            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)

        # 序号更正 和校验余额连续性后
        # return updateNumberAndBalanceContinuityVerify(new_list)
        return new_list
posted @ 2020-11-13 09:21  c_b  阅读(276)  评论(0)    收藏  举报