跳至主要內容
Excel 实现找到重复数据位置

0. 缘起

1. 需求确认

表格数据如下:

日期 第1名 第2名 第3名 第4名 第5名 第6名 第7名 第8名 第9名 第10名 第11名 第12名 第13名 第14名 第15名
9月1日 建筑装饰 传媒 农林牧渔 交通运输 建筑材料 公用事业 电子 房地产 服装 采掘 化工 国防军工 商业贸易 轻工制造
9月2日 休闲服务 交通运输 建筑材料 公用事业 电子 房地产 纺织 采掘 化工 国防军工 商业贸易 轻工制造 建筑材料 传媒 农林牧渔
9月3日 房地产 服装 采掘 化工 军工 制造 建筑装饰 传媒 农林牧渔 休闲服务 交通运输 建筑材料 公用事业 电子
9月4日 纺织服装 采掘 化工 国防 商业 轻工 建筑装饰 传媒 农林牧渔 休闲服务 交通运输 建筑材料 公用事业 电子 房地产
9月5日 采掘 化工 国防军工 商业贸易 轻工制造 建筑装饰 传媒 农林牧渔 休闲服务 交通运输 建筑材料 公用事业 电子 房地产 纺织服装
9月6日 语文 数学 物理 化学 英语 日语 德语 机械 医疗 卫生 教育 基金 经济 服装 游戏
9月7日 化工 国防军工 商业贸易 轻工制造 传媒 农林牧渔 休闲服务 交通运输 建筑材料 公用事业 电子 房地产 纺织服装 采掘
9月8日 国防军工 商业贸易 轻工制造 建筑装饰 传媒 农林牧渔 休闲服务 交通运输 建筑材料 公用事业 电子 房地产 纺织服装 采掘 化工
9月9日 商业贸易 轻工制造 建筑装饰 传媒 农林牧渔 休闲服务 交通运输 建筑材料 电子 房地产 纺织服装 采掘 化工 国防军工
9月10日 轻工制造 建筑装饰 传媒 语文 休闲服务 交通运输 建筑材料 公用事业 电子 房地产 纺织服装 采掘 化工 国防军工 商业贸易
9月11日 语文 数学 物理 化学 英语 日语 德语 机械 医疗 卫生 教育 基金 经济 服装 游戏
9月12日 建筑装饰 传媒 农林牧渔 交通运输 建筑材料 公用事业 电子 房地产 纺织服装 采掘 化工 国防军工 商业贸易 公用事业
9月13日 农林牧渔 休闲服务 交通运输 公用事业 电子 房地产 纺织服装 采掘 化工 国防军工 轻工制造 建筑装饰 传媒
9月14日 交通运输 建筑材料 公用事业 电子 房地产 纺织服装 化工 国防军工 商业贸易 轻工制造 传媒 农林牧渔 休闲服务
9月15日 公用事业 电子 房地产 纺织服装 采掘 化工 国防军工 商业贸易 轻工制造 建筑装饰 传媒 农林牧渔 休闲服务 交通运输 建筑材料

AI悦创原创...大约 8 分钟Python一对一辅导Python 办公自动化Python一对一辅导Python 办公自动化
02-导读|入门Python的必备知识

你好,我是悦创。

咱们这个课程是用 Python 解决办公低效问题,但是即使你从来没有用过 Python,甚至没有任何的编程语言基础,也完全可以学会这门课。

为了解决你的语言问题,我特意准备了这节课。我会给你讲解 Python 的五个最基础的语法知识,包括运行环境配置、变量、数据类型、控制语句和使用函数库的方法。

这节课的内容也不需要你马上掌握,其中提到的一些关键知识,我会在后面的课程中详细讲解,包括它们的使用场景和具体用处。 学完这节课,你只要能对 Python 有一个初步的了解,可以看懂基本的 Python 代码就行了。


AI悦创原创...大约 13 分钟Python 办公自动化Python 办公自动化
12-openpyxl 追加 Excel 数据

1. 需求说明

你好,我是悦创。

xlsxwriter 只能创建新的文件,不能对文件进行数据的追加和读取操作。

需要追加和读取 xlsx 文件,就需要用到 openpyxl 这个库了。安装命令:pip install openpyxl

pip install openpyxl

使用 openpyxl 完成这面这个需求:


AI悦创原创...大约 5 分钟Python 办公自动化Python 办公自动化
11-xlsxwriter 生成 Excel 文件

1. 为什么需要掌握新的库

1.1 操作 xls

xlrd 和 xlwt,以及 xlutils 足以满足对 xls 文件的读、写、追加功能。

但是办公文件的格式,不是 xls,还有 xlsx,还有我们很少见的 xlsm 等。

1.2 操作 xlsx

xlsx 是 xls 的升级版,xls 是老版本的办公软件所支持的文件格式,且劣势也比较明显,当文件数据超过 65536 行和 256 列,使用 xls 则会导致数据截断。


AI悦创原创...大约 6 分钟Python 办公自动化Python 办公自动化
10-Python 链接和操作 sqlite

链接和查询代码

Python 自身携带 sqlite 库,不需要额外安装,直接使用即可。导入代码:

import sqlite3

导入代码之后,将 first.db 文件,放到代码文件旁边。这里用的是 py,所以是把 py 和 first.db 文件放一起,不放一起就只能使用绝对路径。如下图:


AI悦创原创...大约 3 分钟Python 办公自动化Python 办公自动化
09-sqlite 创建表格

sqlitestudio 介绍

本节内容的目的,是教大家如何在非代码的情况下,创建 sqlite3 数据库文件和表格编辑操作。

既然不写代码,就肯定需要借助软件来操作。本节课对应的源码中,准备好了 windows、macos、linux 三个系统的 sqlitestudio 软件,如下图:

image-20220717104603622

windows 使用 zip;macos 使用 dmg;linux 使用 tar.xz;


AI悦创原创...大约 3 分钟Python 办公自动化Python 办公自动化
08-数据库和 sqlite 介绍

什么是数据库

数据库是“按照数据结构来组织、存储和管理数据的仓库”,是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。

数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜。

有哪些数据库

数据库类型

大型数据库:甲骨文Oracle


AI悦创原创...大约 3 分钟Python 办公自动化Python 办公自动化
01-Python 追加 Excel 数据

xlutils 库的安装

你好,我是悦创。

需求

往“虚假用户数据.xls”里面,追加额外的 50 条用户数据,就是标题+数据,达到 150 条。

思路

  • xlrd 是读取 Excel 文件的库
  • xlwt 是写入 Excel 的库

如果使用以上两个库,可以一边读取,一边写入新文件。

不过在此,有另一个方便使用的库,库名是 xlutils,安装命令:pip install xlutils


AI悦创原创...大约 3 分钟Python 办公自动化公开课Python 办公自动化公开课
07-Python自动化结算工资和统计报表

实例需求说明

学习了 Excel 文件的写入、读取和追加内容,那现在来做个案例。

需求描述并整理,如下:

  • 每个月的 2 号,你会收到一个 Excel 文件;
  • 文件中包含了 各个部门的员工信息;
  • 你需要一天之内完成这些报表的整理和统计,然后交给领导检查和发放工资;
  • 时间要快,工资发晚了,同事会抱怨你;
  • 工作量还是比较大的,你需要解放双手,让程序去处理问题
  • 让程序快速的计算出每个人的工资,并将统计信息结合模板,生成“xxxx年xx月各部门员工数据总览”;
  • 薪资计算规定:迟到一次扣 20,一个月最多扣 200;

AI悦创原创...大约 14 分钟Python 办公自动化Python 办公自动化
06-Python 追加 Excel 数据

xlutils 库的安装

你好,我是悦创。

需求

往“虚假用户数据.xls”里面,追加额外的 50 条用户数据,就是标题+数据,达到 150 条。

思路

  • xlrd 是读取 Excel 文件的库
  • xlwt 是写入 Excel 的库

如果使用以上两个库,可以一边读取,一边写入新文件。

不过在此,有另一个方便使用的库,库名是 xlutils,安装命令:pip install xlutils


AI悦创原创...大约 3 分钟Python 办公自动化Python 办公自动化
04-MacOS 安装 Python3.6

MacOS 基于 Unix,自带 Python2.7 工具。

不过现在都是 Python3 的王道,Python2.7 快要退出舞台了,所以推荐安装 Python3.7 版本。

因为涉及到多个版本的 Python 存在于电脑上,需要区分和使用,所以在此安装的 Python3.7,使用 Anaconda 工具进行安装,自动帮你切换环境问题,非常方便。

(1)先去下载 Anaconda 软件,推荐官网或者清华镜像站,如下图:

1

推荐的版本是 Anaconda3-4.4.0,MaxOS 有两种格式,一个是 pkg 安装程序,另一个是 sh 代码文件。推荐 pkg 文件,这个是 MacOS 的安装程序格式。


AI悦创原创...大约 2 分钟Python 办公自动化Python 办公自动化
05-Python 实现 Excel 的读写操作

你好,我是悦创。

写入 Excel 文件

本节课,我们来熟悉下 Excel 的读和写操作。

首先来学习下,随机生成数据,写入一个Excel文件并保存,所使用到的库,是 xlwt,安装命令 pip install xlwt ,安装简单方便,无依赖,很快。

pip install xlwt

常规的创建 Excel 流程:


AI悦创原创...大约 4 分钟Python 办公自动化Python 办公自动化
03-Windows 上安装 Python3.6

下载

(1)进入 Python官网下载页面,下载一个Python安装包,可用版本 3.5、3.6、3.7、3.8,推荐版本3.6或者3.8,所以这里用Python3.6做演示,如下图:

1

下载 32 位或者 64 位的 exe 执行安装包,不清楚 32 或者 64 的,一律下载 32 位【即 x86 】。


AI悦创原创...大约 2 分钟Python 办公自动化Python 办公自动化
02-为什么要学习 Python 自动化办公

办公三大件

办公软件中典型三大件:Excel 、Word、PowerPoint,几乎数字工作者都会用到查看、保存和修改一些数据。

例如: 公司合作的 Word 合同、会计的 Excel 记账文件、校园活动的宣传 PPT、中小学老师的 PPT 课件等。

自动化办公

要实现自动化办公,只要你熟练的使用编程语言,就可以控制各种办公软件和多领域结合开发,以及方便快捷的实现我们的需求。

编程语言中常见的有:

  1. 生态好且易上手的 Python
  2. 强大且啰嗦的 Java
  3. 专门写网站的 PHP
  4. 性能好却很难的 C++
  5. 专属 windows 平台的 C#
  6. 办公软件内置的 VB

AI悦创原创...大约 3 分钟Python 办公自动化Python 办公自动化
01-什么是自动化办公?

介绍

你好,我是悦创。在工作中往往有些重复性的工作,需要占据你大量的时间,且难免会在一些小细节上犯错,例如错别字、小数点标错、大小写不规范等等。

所谓的自动化办公,就是把工作中,琐碎且需要重复很多次的任务,交给程序去做。

程序自动化处理办公任务,有着非常的高效、精准、还不会有错的优势。

例子

领导需要你将一个文件夹中的两个 Excel 表格数据,合并成一个 Excel 表格。

  1. 如果你是手动复制粘贴,你只需要打开这两个文件 ,然后复制其中一个到另一个中,不超过一分钟;
  2. 如果文件夹中有 100 个 Excel,那你花的时间是第一条的 99 倍;10000 个就是 9999 倍;
  3. 如果文件夹有 100 个,每个文件夹 100 个 Excel,那所需时间是第一条的 100*99 倍;

AI悦创原创...大约 2 分钟Python 办公自动化Python 办公自动化
Python 办公自动化一对一教学课程表
序号 内容
课前准备
01 重复工作这么多,怎样才能提高工作效率?
02 入门 Python 的必备知识
“输入”模块:不同文件类型的批量合并和拆分问题
03 拆分与合并:如何快速地批量处理内容相似的 Excel?
04 善用 Python 扩展库:如何批量合并多个文档?
05 图片转文字:如何提高识别准确率?
AI悦创特别放送
06 特别放送 1|实体水果店转线上销售的数据统计问题
07 特别放送2|用自顶至底的思路解决数据统计问题
08 特别放送3|揭晓项目作业的答案
“运算”模块:扩展常用的统计、搜索和排序功能
09 函数与字典:如何实现多次替换
10 图像处理库:如何实现长图拼接?
11 jieba 分词:如何基于感情色彩进行单词数量统计?
12 快速读写文件:如何实现跨文件的字数统计?
13 正则表达式:如何提高搜索内容的精确度?
14 扩展搜索:如何快速找到想要的文件?
15 按指定顺序给词语排序,提高查找效率
16 通过程序并行计算,避免CPU资源浪费
“控制”模块:增强办公软件及周边软硬件的交互能力
17 文本处理函数:三招解决数据对齐问题
18 Excel 插件:如何扩展Excel的基本功能?
19 VBA 脚本编程:如何扩展 Excel,实现文件的批量打印?
20 PowerShell 脚本:如何实现文件批量处理的自动化?
“存储”模块:和文件相关的常用操作
21 循环与文件目录管理:如何实现文件的批量重命名?
22 不同操作系统下,如何通过网络同步文件?
23 http 库:如何批量下载在线内容,解放鼠标(上)?
24 http 库:如何批量下载在线内容,解放鼠标(下)?
25 不同文件混在一起,怎么快速分类?
26 SQLite 文本数据库:如何进行数据管理(上)?
27 SQLite 文本数据库:如何进行数据管理(下)?
“输出”模块:智能化输出自己的工作成果
28 怎么用数据透视表更直观地展示汇报成果?
29 条形、饼状、柱状图最适合用在什么场景下?
30 图表库:想要生成动态图表,用 Echarts 就够了
31 快速提取图片中的色块,模仿一张大师的照片
32 zipfile 压缩库:如何给数据压缩&加密备份?
33 Celery 库:让计算机定时执行任务,解放人力
34 网络和邮件库:定时收发邮件,减少手动操作
35 怎么快速把任意文件格式转成 PDF,并批量加水印?
结束语
36 结课测试题|这些 Python 自动化办公的知识你都掌握了吗?
37 结束语|和我一起成为10X效率职场人

AI悦创原创...大约 4 分钟Python 办公自动化Python 办公自动化
01-重复工作这么多,怎样才能提高工作效率?
img

你好,我是悦创。

欢迎你来到《Python 自动化办公实战课》,在接下来的 3 个月时间里,我们一起通过办公自动化来提升工作效率。

工作 15 年来,我在教育公司做过技术总监,也在朋友公司做过技术经理,负责公司运维平台建设和相关工具的开发工作,几乎每天都在和 Linux 打交道。

在这门课之前,我已经在 Bornforthis 开设了两门课程:《零基础学 Python 私教》和《Linux 实战技能 100 讲私教》,为 Python 语言的初学者和运维工程师、开发工程师提供系统化的课程,目的就是解决他们在学习、实践中遇到的 80% 的问题。「目前还未上线,敬请关注公众号:AI悦创,并加入交流群。微信:Jiabcdefh。


AI悦创原创...大约 14 分钟Python 办公自动化Python 办公自动化