实用代码1:利用Python查找excel文件中的某重要内容

     【银行业正处于快速数字化转型中,怎么发展?往哪里走?最后能到哪里?确切的方向谁也说不完整,广征意见中的各类奇思怪想满天飞。总结起来有这么几类:一是提高工作效率类。如通过系统提高自动化处理比例,将日常工作中某些规律性业务交由系统自动处理,提高单位时间内工作效率,如报表自动统计、业务机器人等;二是提升客户体验感类。如通过系统处理常规业务弥补客服人员的有限性,减少客户等待时间,方便客户自主操作,例如ATM机、银企对账机、智能开卡机等取款、查询打印等易于理解、不会产生歧义类常规业务;三是大数据分析类。如根据退休人员购买理财产品等情况,提供更符合该类客户在安全、稳定收益方面需求的产品。   

       本人是银行窗口服务方面小小负责人,希望在数据化转型方面通过系统建设等方式,提高柜面服务质量、服务效率,更好的为服务对象提供更优质服务。各位如在办理银行业务方面,不管是线下还是线上如遇到什么问题,如您方便,随时可以在评论区吐槽或反应,不胜感激!   

       在实际工作中,技术人员与业务人员面对对象不一样,思维也相差挺大,为了体验技术人员可能的思路, 我试着学学编程。作为只是尝试,所以仅仅是通过简单的编程解决工作上一些小问题,偏实用性,如excel报表汇总、数据查询等,为了提高兴趣,也收集并按自己想法更改了一些爬虫程序,如批量下载电影、图片、音乐等,后续将陆续发布,如有侵权请知会立删】

  实用代码1:利用Python查找excel文件中的某重要内容     

        不知您们在工作中是否碰到这种情况:似乎有印象曾经看到某重要数据,但总记不起来在哪个文件夹下哪文件中,使用python爬虫技术可以完美解决此类问题。只要输入上层(或顶层)文件夹路径和要查找的内容,程序可以自动查找该文件夹下所有子文件夹下的excel文件,逐个比对每个文件每个单元格value,模糊配备要查找的内容,能够清晰反馈要查找内容的绝对路径、文件名称、具体sheet中的哪个单元格。代码如下:

import os
import openpyxl as ol
from glob import glob
import csv
import pandas as pd 

def get_path(path):
    os.chdir(path)
    #将当前目录下的文件夹以列表的形式存放
    Dirs = []
    for dirpath,dirnames,files in os.walk(path):
        Dirs.append(dirpath)
    #记录将要查询的文件夹名称
    f = open('d:\DIRS.csv', 'w',encoding="UTF8",newline='')
    w = csv.writer(f, delimiter = ',')
    w.writerows([x.split(',') for x in Dirs])
    f.close()     
    return Dirs

def get_search():
    #循环输入全部查询内容,建立查询目标组    
    search=[]
    polling_active = True
    while polling_active:
        seah_input = str(input("请输入需要查询的内容,回车开始查询:"))
        #判断目标内容
        if seah_input:#输入内容不为空,继续输入,并加进列表
            search.append(seah_input) 
        else:#输入内容为空,退出
            polling_active = False
    return search

def get_sheet_cell(Dirs):
    Csv=[['查找标的','所在文件夹','所在文件名称','所在表名称']]
    search = get_search()
    for Dir in Dirs: 
        os.chdir(Dir)
        retval = os.getcwd()
        os.listdir("./")
        excel_list = glob("*.xls?")
        #将收集的Excel文档依次打开,获取每个Excel文档中的所有sheet工作表值,并依次打开
        for excel_name in excel_list:
            #使用load_workbook('表名.xlsx')读取excel表格
            wb = ol.load_workbook(excel_name)
            #遍历所有sheet,目标文本和Excel文本进行比对,看目标文本是否在Excel表里面
            for sheet in wb.sheetnames:
                Value=[
                        j.value
                        for i in ol.load_workbook(excel_name)[sheet]
                        for j in i
                        ]
                for V in search:
                    Csv1 = []
                    if str(V) in str(Value):
                        Csv1.append(V)
                        Csv1.append(str(retval))
                        Csv1.append(str(excel_name))
                        Csv1.append(str(sheet))
                        Csv.append(Csv1)
                    else:
                        pass
                                            
    return(Csv)

def write_csv(Csv):
    try: #创建文件用于存储
        file_name = 'D:\查询反馈.csv'
        data_frame = pd.DataFrame(Csv)
        data_frame.to_csv(file_name, mode='a', index=False, sep=',', header=False) 
    except:
        "Error_saveData"
    print('查询完毕,请查看查询结果“D:\查询反馈”')                       

def main():
    path=input("请输入文件路径:")
    Dirs = get_path(path)
    Csv = get_sheet_cell(Dirs)
    write_csv(Csv)

if __name__ == '__main__':  
    print('启动程序')
    main()
    print('---谢谢使用---')


 

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值