【敲级实用】:某小伙写了一个的办公脚本后~变精神了~

news2025/2/25 21:41:14

文章目录

  • 📯小哔哔
  • ✏️注册有道智云
  • ✏️咋滴调用?
  • ✏️使用前的小操作
  • ✏️源代码

专栏
Python零基础入门篇🔥
Python网络蜘蛛🔥
Python数据分析
Django基础入门宝典🔥
小玩意儿🔥
Web前端学习
tkinter学习笔记
Excel自动化处理

📯小哔哔

各位久等了吧《小玩意儿》专栏它!@#¥%……&更新啦❗️❗️❗️
好久没更新《小玩意儿》专栏里的文章了,今天俺又回来啦💨
今天带给大家的是什么呢?没错,就是❗️❗️❗️什么呢?
在这里插入图片描述
开个小玩笑啦!今天带来的当然就是人人用了都说好实用办公小脚本咯:批量将图片内容识别并写入Excel表格中❗️
具体咋用?咱们废话不多说,请各位看官往下look look👀

✏️注册有道智云

当然,咱们还没有写出将图片转为Excel表格的代码的实力,但是❗️❗️❗️,咱们可以调用API接口呀,你说这,有现成的咱就不费那个劲儿了,调用API接口就咔咔完事儿了~

  • 我们需要调用有道智云平台上的API接口,注册好后进入即可看到如下页面👇
    在这里插入图片描述
  • 将鼠标移动到上方的产品服务,然后选择表格识别并点击
    在这里插入图片描述
  • 这时会跳到另一个界面,这时你可能不知所措,不过没关系,接着点击立即使用就好了😝
    在这里插入图片描述
  • 接下来就是一个浅浅的三步走战略,具体如下图所示👌

在这里插入图片描述

  • 这时候按照网页给的提示,咔咔操作就完事儿了,最后点击一个小确定就O了,注意:服务器IP可以不写
    在这里插入图片描述
  • 最后在业务总览上,即可看到你所创建的应用,上面有两个重要的信息:应用ID和密匙
    在这里插入图片描述

✏️咋滴调用?

这时候可能就有小伙伴问了:诶呀,做了这么多,到底咋滴调用呀呀呀呀……?
别急,哥手把脚教你,来,看下面的操作👇

  • 重新点击光学字符识别服务——>表格识别,这时细心的小伙伴就会发现在右下方提供Java、Python、C#、PHP语言调用API接收的示例
    在这里插入图片描述
  • 我们这里以Python为例,点击查看,即可看到Python调用接口的代码(这时应该听到耳鸣般的掌声👏),但是,到了这,先别啷个激动,这些代码需要修改的哈,具体怎么改?请继续往下看
    在这里插入图片描述

✏️使用前的小操作

想知道咋修改吗?就不告诉你,就不告诉你~略略略略~
在这里插入图片描述

咱们不用费这个劲儿去想,本小小博主👴已经为兄弟姐妹们改好啦,还做了一点小小的升级er(那就是批量

  • 首先,先练习一下快速Ctrl C和Ctrl V,将创建好的应用中给出的应用ID和密匙复制,粘贴到代码中
    在这里插入图片描述
  • 然后,将咱们的目标图片,放到同一个文件夹之中,修改path的路径为图片存放的文件夹路径
    在这里插入图片描述
  • 最后,运行一波,你会发现目标文件夹下的图片统统都被Excel了,而这些Excel表格文件的名字就是对应图片的名字。
    • 特别注意⚠️我们在有道智云注册之后会发现有50💰,当然,这不是你的生活费,这是只能在平台上消费,而每转一张图片会话0.5💰,所以,大家合理使用哈❗️❗️❗️
    • 具体运行结果看下图👇
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

✏️源代码

小说明:有一些复杂的表格图片可能会识别有误哦~😊

# -*- coding: utf-8 -*-
import uuid
import requests
import base64
import hashlib
import time
import json
import os

YOUDAO_URL = 'https://openapi.youdao.com/ocr_table'
APP_KEY = ''
APP_SECRET = ''


def truncate(q):
    if q is None:
        return None
    q_utf8 = q.decode("utf-8")
    size = len(q_utf8)
    return q_utf8 if size <= 20 else q_utf8[0:10] + str(size) + q_utf8[size - 10:size]


def encrypt(signStr):
    hash_algorithm = hashlib.sha256()
    hash_algorithm.update(signStr.encode('utf-8'))
    return hash_algorithm.hexdigest()


def do_request(data):
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    return requests.post(YOUDAO_URL, data=data, headers=headers)


def connect(img_path):
    f = open(img_path, 'rb')  # 二进制方式打开图文件
    q = base64.b64encode(f.read())  # 读取文件内容,转换为base64编码
    f.close()

    data = {}
    data['type'] = '1'
    data['q'] = q
    data['docType'] = 'excel'   # excel相关数据
    data['signType'] = 'v3'
    curtime = str(int(time.time()))
    data['curtime'] = curtime
    salt = str(uuid.uuid1())
    signStr = APP_KEY + truncate(q) + salt + curtime + APP_SECRET
    sign = encrypt(signStr)
    data['appKey'] = APP_KEY
    data['salt'] = salt
    data['sign'] = sign

    # 包含excel相关数据(base64字符串)    json
    response = do_request(data)
    # json -- 字典
    # 拿到的是包含excel的base64的json字符串
    response_json = json.loads(response.text)

    # 提取数据
    excel_table_base64 = response_json.get('Result').get('tables')[0]
    return excel_table_base64

def orc_excel(img_path, excel_path):
    excel_table_base64 = connect(img_path)
    # 将数据解码
    decoded = base64.b64decode(excel_table_base64)
    # 讲解码后的数据写入excel文件
    with open(excel_path, 'wb') as f:
        f.write(decoded)
    print('保存成功')

if __name__ == '__main__':
    path = ''
    li_file = []
    for i in os.listdir(path):
        img_path = path + '/' + i
        excel_path = rf'{path}/{i[:-4]}.xlsx'
        orc_excel(img_path, excel_path)
    print('转换结束!')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/39561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于储能电站服务的冷热电多微网系统双层优化配置(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

ETCD快速入门-01 ETCD概述

1.ETCD概述 1.1 ETCD概述 etcd是一个高可用的分布式的键值对存储系统&#xff0c;常用做配置共享和服务发现。由CoreOS公司发起的一个开源项目&#xff0c;受到ZooKeeper与doozer启发而催生的项目&#xff0c;名称etcd源自两个想法&#xff0c;即Linux的/etc文件夹和d分布式系…

一篇快速搞懂python模块、包和库

个人主页&#xff1a;天寒雨落的博客_CSDN博客-初学者入门C语言,python,数据库领域博主 &#x1f4ac; 热门专栏&#xff1a;python_天寒雨落的博客-CSDN博客 ​每日赠语&#xff1a;没有窘迫的失败&#xff0c;就不会有自豪的成功&#xff1b;失败不可怕&#xff0c;只要能从失…

用DIV+CSS技术设计的凤阳旅游网站(web前端网页制作课作业)HTML+CSS+JavaScript

&#x1f468;‍&#x1f393;学生HTML静态网页基础水平制作&#x1f469;‍&#x1f393;&#xff0c;页面排版干净简洁。使用HTMLCSS页面布局设计,web大学生网页设计作业源码&#xff0c;这是一个不错的旅游网页制作&#xff0c;画面精明&#xff0c;排版整洁&#xff0c;内容…

Android App开发语音处理之系统自带的语音引擎、文字转语音、语音识别的讲解及实战(超详细 附源码)

需要源码请点赞关注收藏后评论区留下QQ~~~ 一、系统自带的语音引擎 语音播报的本质是将书面文字转换成自然语言的音频流&#xff0c;这个转换操作被称作语音合成&#xff0c;又称TTS&#xff08;从文本到语音&#xff09;在转换过程中&#xff0c;为了避免机械合成的呆板和停顿…

一款客服系统有哪些必备的功能模块?

为了提升客户服务质量&#xff0c;和客户更好地进行沟通&#xff0c;越来越多的企业配置了客服系统。那一款优秀的客服系统需要配置哪些功能模块呢&#xff1f; 1、支持多渠道接入 新媒体的快速发展使得企业有机会通过更多的渠道和客户进行联系&#xff0c;比如公众号、微博、…

java环境安装与配置

这篇文章只是为了以后我配置环境方便而写 1&#xff0c;点击网址&#xff0c;进入Oracle官网 然后参照Java JDK下载安装及环境配置超详细图文教程 2&#xff0c;安装之后如果目录里没有jre文件夹 参考Jdk中没有jre文件夹怎么办&#xff1f; ①简单点就是&#xff0c;管理员模式…

京东零售大数据云原生平台化实践

分享嘉宾&#xff1a;吴维伟 京东 架构工程师 编辑整理&#xff1a;陈妃君 深圳大学 出品社区&#xff1a;DataFun 导读&#xff1a;随着业务调整和集群资源整合需求&#xff0c;大数据系统中集群数据迁移复杂混乱。本文将以京东大数据平台为例&#xff0c;介绍京东近一年在数…

HTML+CSS+JS制作一个迅雷看看电影网页设计实例 ,排版整洁,内容丰富,主题鲜明,简单的网页制作期末作业

HTML实例网页代码, 本实例适合于初学HTML的同学。该实例里面有设置了css的样式设置&#xff0c;有div的样式格局&#xff0c;这个实例比较全面&#xff0c;有助于同学的学习,本文将介绍如何通过从头开始设计个人网站并将其转换为代码的过程来实践设计。 文章目录一、网页介绍一…

FreeCAD二次开发-基于PyQT对话框与FC交互的开发

版本 FreeCAD0.18.2+PyCharm Community 2020.3.3 演示效果 环境搭建步骤 1.先安装好FreeCAD和PyCharm 2.添加环境变量 点击确定,全部关掉。 3.测试变量是否生效(CMD打开控制台,输入python回车) 弹出如下,说明可以进入FreeCAD自带的python解释器 4.创建工作台Workbench(…

Bridge Champ:Jelurida实践PlaytoOwn的Web 3社交游戏

Play-to-Own 为什么能引领Web3游戏 Web 3游戏将进入“Play-to-Own”的游戏新时代。解锁游戏中的经济活动将极大地扩大游戏产业的TAM&#xff0c;并加速价值创造。 以Axie Infinity为例&#xff0c;Axie普及了P2E模式&#xff0c;其DAU从2021年初的1万增长到峰值的300万&#…

基于遗传算法的微电网经济运行优化matlab程序

基于遗传算法的微电网经济运行优化matlab程序 摘 要: 微电网作为智能电网的一部分&#xff0c;是分布式电源接入电网的一种有效手段&#xff0c;微电网经济运行是其中一个重要研究方面。考察微电网经济性&#xff0c;通常是从最小运行成本和最小环境污染物排放成本两方面入手进…

Git clone时报错: OpenSSL SSL_read: Connection was reset, errno 10054

有段时间没有在GitHub上clone代码了&#xff0c;今天git clone&#xff1a; https://github.com/xxxxxx 居然直接给我抛出了错误&#xff1a; GitHub clone时,报错:Connection was reset, errno 10054 咦&#xff1f;这是什么鬼&#xff1f;然后想起以前clone时用的git地址…

[附源码]Python计算机毕业设计高校党建信息平台

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

秒杀微服务实现抢购代金券功能

文章目录需求分析秒杀场景的解决方案数据库表设计代金券表抢购活动表订单表创建秒杀服务pom依赖配置文件关系型数据库实现代金券秒杀相关实体引入抢购代金券活动信息代金券订单信息Rest配置类全局异常处理添加代金券秒杀活动代金券活动实体代金券活动Mapper->SeckillVoucher…

【技术分享】Python脚本实现BJTU校园网自动登录

文章目录1.背景介绍2.登录分析3.代码分析4.源代码1.背景介绍 BJTU的校园网连接好以后需要输入账号和密码才能正确登录&#xff0c;如下图所示。整个流程比较繁琐&#xff0c;尤其是很多服务器、工作站是无图形化的系统&#xff0c;大部分时间需要SSH连接&#xff0c;所以通过界…

【Rust 日报】2022-11-25 Rust 真的要上天了!

Rust 真的要上天了&#xff01;Gama 将发射太阳帆宇宙飞船&#xff0c;并且是公开将 Rust 送入太空的公司之一。是的&#xff0c;我们在太空中&#xff01;详情&#xff1a;https://twitter.com/AeroRust/status/1596052251650686976Redox OS 0.8.0 现已发布&#xff01;自从 0…

【POJ No. 2352】数星星 Stars

【POJ No. 2352】数星星 Stars 北大OJ 题目地址 【题意】 星星由平面上的点表示&#xff0c;星星的等级为纵横坐标均不超过自己的星星数量&#xff08;不包括自己&#xff09;。下图中&#xff0c; 5号星的等级为3&#xff08;纵横坐标均不超过5号星的星星有3颗&#xff1a;1…

Java(一)--- DOS,文档注释,代码规范

目录 一、开发注意事项 二、文档注释 1、基本格式 2、如何生成对应文档注释 三、Java代码规范 四、DOS 一、开发注意事项 Java应用程序的执行入口是main0方法。它有固定的书写格式:public static void main(Stringl] args){...}一个源文件中最多只能有一个public类。其它类…

ALU,半加器,全加器,减法电路

目录 &#xff08;1&#xff09;ALU(Arithmetic Logical Unit) &#xff08;2&#xff09;半加器(Half adder) &#xff08;3&#xff09;全加器(Full Adder) &#xff08;5&#xff09;二进制数的加法电路 &#xff08;6&#xff09;二进制数的减法电路 &#xff08;7&…