根据银行卡号查询该银行卡的签发银行

本文介绍了一个简单的程序,用于从文本文件中读取银行卡号,并通过匹配银行卡号的前缀来确定其所属银行。该程序利用Excel文件作为银行卡号前缀与对应银行名称的映射表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我第一次写博客,如果有不对的或者绕弯的还请各位大神指点下,毕竟还是个新手,这个小程序也是我现实中遇到的需求,下面是我的思路;

需求:一批银行卡号现在存储在一个txt文件中,每一行存储一个银行卡号,现在要求找出对应的所属银行

第一步:国内一般根据银行卡的开头来判断所属行,所以先找到合适的字典,我选择excle来存储字典

第二步:直接编写代码

# -*- coding: utf-8 -*-
# @Time    : 2018/7/12 14:07
# @Author  : xiangchaoming
# @QQ      : 239036082

from openpyxl import *


# 将excle字典转换成python字典
def bankList():
    workbook = load_workbook("bank.xlsx")
    sheetnames = workbook.get_sheet_names()  # 获得表单名字
    sheet = workbook.get_sheet_by_name(sheetnames[0])

    # 获取excle所有内容
    i = 2
    banks = dict()
    while True:
        start = sheet.cell(row=i,column=1).value
        name = sheet.cell(row=i, column=2).value
        if start is not None:
            # print(str(start) + " = " + name)
            banks[str(start)] = name  # 在 Python 3 中使用

        else:
            break
        i = i + 1
    return banks


# 根据银行卡开头前10位到前两位数字判断所属银行
# bankNumber(银行卡号), bank_list(字典)
def parseBankNumber(bankNumber, bank_list):
    f = open("res.txt", "a")
    if len(bankNumber)>10:
        i = 10
        while i > 1:
            try:
                start = bankNumber[0:i]
                # name = bankList()[start]
                name = bank_list[start]
                f.write(bankNumber + "_" + name + "\n")
                print(bankNumber + "_" + name)
                break
            except Exception as e:
                if i == 2:
                    f.write(bankNumber + "_" + "" + "\n")
                    # print("找不到")

                continue
            finally:
                i = i - 1
    else:
        f.write(bankNumber + "_" + "" + "\n")


if __name__=="__main__":
    bank_list = bankList()
    for line in open("bankNumber.txt"):
        # print(line,) # 后面跟 ',' 将忽略换行符
        # print(line, end='')
        parseBankNumber(line.replace("\n", ""), bank_list)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值