厉害! 用python代码做excel表

伙伴们在做excel表时候还在Ctrl+F一条条查找到名字之后 再来复制粘贴 身份证号 或 手机号吗?

在面对几千条数据的时候可想而知,手动一条条查询是行不通的,那么我们可以利用代码来实现自动查询

首先做好准备工作:先建立两个txt文本 第一个name文本存放你需要收集成员信息的名字或学号(建议是唯一值)之后在sfs文件放入你需要在这个文件查找的数据(作为数据库)

厉害! 用python代码做excel表_第1张图片

保证你的数据库内两行数据中间有空格(空格数不限制)

代码如下:

f = open("sfs.txt","r",encoding="utf_8")
line = f.readline()
listname = []
listsfz = []
findlist = []
dict = {}
while line:
    list1 = line.split()
    list1[1] = list1[1].strip()
    listname.append(list1[0])
    listsfz.append(list1[1])
    line = f.readline()
f1 = open("name.txt","r",encoding="utf_8")
name = f1.readline()
while name:
    list1 = name.split("\n")
    findlist.append(list1[0])
    name = f1.readline()
# print(findlist)
for j in range(0,len(findlist)):

    if listname.count(findlist[j])==1:
        index = listname.index(findlist[j])
        dict[findlist[j]] = listsfz[index]
    elif listname.count(findlist[j])==0:
        dict[findlist[j]] = "没有找到该用户"
    elif findlist.count(findlist[j]) != 1:
        dict[findlist[j],j] = "查找列表中有重复ID,请手动确认是否为同一ID"
    else:
        dict[findlist[j]] = "该用户在数据库中有多个请手动查询"
isFlag = 'true'
while isFlag:
    num = int(input("查ID请输入1,查身份证号请输入2,输入0退出"))
    if num == 1:
        for k in dict:
            print(k)
    elif num == 2:
        for k in dict:
            print(dict[k])
    elif num == 0:
        isFlag = 'false'
        break
f.close()
f1.close()

 厉害! 用python代码做excel表_第2张图片

 之后复制粘贴到excel表中就可以啦!

如果需要的数据不同 可以更改部分代码,如有问题欢迎评论区讨论

你可能感兴趣的:(python,开发语言)