python优化办公(excel)
admin
2023-07-20 13:22:46
0
from aip import AipOcr
from PIL import Image
from os import listdir
from os import rename
from os import remove
from os import system
from win32com.client import Dispatch
from os import getcwd


NAME_LIST = []
EXCEL_PATH = []
def get_name_by_pic(img):
    img.save('test_tmp.jpg')
    APP_ID = '你的百度文字识别ID'
    API_KEY = '你的KEY'
    SECRECT_KEY = '你的SECRECT_KEY '
    client = AipOcr(APP_ID,API_KEY,SECRECT_KEY)
    i = open('test_tmp.jpg','rb')
    img = i.read()
    message = client.basicGeneral(img)
    name = message['words_result'][0]['words']
    return name


def get_pic(pic,which_size):
    img = Image.open(pic)
    region = img.crop(which_size)
    return region
 
def excel(WHICH_SHEET):
#     WHICH_SHEET = 'Sheet1'
    COL = 10
    excel = Dispatch('Excel.Application')
    excel.Visible = True
    myExcel = excel.Workbooks.Open(getcwd()+'\\'+EXCEL_PATH[0])
    mySheet = myExcel.Worksheets(WHICH_SHEET)
    # mySheet.Cells(9,9).Interior.ColorIndex = 6         #表格背景  6为黄  5位蓝  4位绿 3为红 2为白 1为黑
    flag = 0
    len_name_list = int(len(NAME_LIST))
    print(len(NAME_LIST))
    for ROW in range(4,mySheet.usedrange.rows.count+1):
        for i in NAME_LIST:
            if i[2:5] == mySheet.Cells(ROW,COL).Value[2:5]:
                NAME_LIST.remove(i)
                flag += 1
                print(flag,mySheet.Cells(ROW,COL).Value)
                mySheet.Cells(ROW,COL).Interior.ColorIndex = 6
                rename(i,mySheet.Cells(ROW,COL).Value+'.jpg')
                break

    print('\n-----未匹配成功:-------\n',len_name_list-int(flag),NAME_LIST)
    myExcel.save
    myExcel.close
    excel.Visible = 0

def rm_space(str):
    str = str.strip()
    str = str.replace(' ','')
    str = str.replace(' ','')
    return str

def main():
    old_file_name = listdir(r'./')
    for jpg_excel in range(0,int(len(old_file_name))):
        print(old_file_name[jpg_excel].split('.')[1])
        if old_file_name[jpg_excel].split('.')[1] == 'jpg' or old_file_name[jpg_excel].split('.')[1] == 'png':
            NAME_LIST.append(old_file_name[jpg_excel])
#         elif old_file_name[jpg_excel].split('.')[1] == 'xlsx' or old_file_name[jpg_excel].split('.')[1] == 'xls' or old_file_name[jpg_excel].split('.')[1] == 'xl*':
        elif old_file_name[jpg_excel].split('.')[1] == 'xlsx':
            EXCEL_PATH.append(old_file_name[jpg_excel])
        elif old_file_name[jpg_excel].split('.')[1] == 'xls':
            EXCEL_PATH.append(old_file_name[jpg_excel])
#         else:
#             continue
    for i in NAME_LIST:
        print('获取切割后的图片',i)
        new_img = get_pic(i,(200,675,600,710))
        print('获取成功!\n百度识图中.............')
        new_name = get_name_by_pic(new_img)
        print('成功识别',new_name,'命名中......')
        new_name = rm_space(new_name)
        rename(i,new_name+'.jpg')
        print('命名成功!即将进行第',i,'张')
    remove('test_tmp.jpg')
main()
print('图片改名完成,即将对比excel')

excel('Sheet1')
print('excel对比完成!')

system('pause')


相关内容

热门资讯

谅解备忘录墨迹未干,美伊首轮谈... 在签署谅解备忘录后,美伊将开启60天谈判。然而,白宫周四宣布万斯取消赴瑞士与伊朗谈判行程,此前伊朗、...
阿富汗称空袭巴境内极端组织藏匿... 新华社喀布尔/伊斯兰堡6月19日电(记者李昂 杨恺) 阿富汗国防部19日称,阿空军在过去一夜空袭了位...
彻夜赶路干扰备战,伊朗足协怒向... 伊朗的世界杯征途荆棘丛生,从美签难产,到多名幕后人员遭到拒签,再到比赛当晚必须离境。大到入境手续,小...
“回旋震”把日本向东推动6毫米... 据当地时间6月18日发表于《科学》(Science)的最新研究,2011年日本“3·11”大地震发生...
首开告捷 劲销231套|招商臻... 一座城市的人居进阶,总需要一个里程碑式的作品。当百年招商遇见千年商都,一场关于精奢生活的革新就此启幕...
特朗普被曝挪用特勤局资金建宴会... 澎湃新闻记者 南博一美国总统特朗普推动的白宫宴会厅建设计划再次引发争议。尽管特朗普政府多次强调白宫宴...
缅甸总统参观宇树科技 6月19日端午节,缅甸总统敏昂莱一行到访宇树科技参观,交流最新机器人产品和技术成果。宇树期待和全球更...
日本防相:“堤丰”导弹系统不会... 据凤凰卫视报道,日本防卫大臣小泉进次郎6月19日表示,配合本月22日起举行的“勇敢之盾2026”军演...
滑翔机与风筝线剐蹭发生坠落,致... 6月18日,重庆南岸区应急局发布《南岸峡口重庆天盟航空体育运动俱乐部有限 公司“4·4”一般坠落事故...
订单口碑双丰收!看银基广场凭啥... 6月12日,2026大湾区(广州)国际服装及时尚生活展览会正式落下帷幕。作为展会联合主办方,郑州银基...