excel调用python编程-超简单:用Python让Excel飞起-程序员宅基地

本书对于编程知识零基础的办公人士特别友好,其摒弃了晦涩的理论讲解,引入了实用的办公场景,为办公人士开辟了一条学习办公自动化的新路。本书精选典型办公案例以及通俗易懂的讲解,有助于办公人士掌握Python+Excel的联合使用,也有利于读者在大数据的应用上能够更进一步。本书代码简洁、思路清晰,在学习过程中只需简单地修改一下本书附赠代码就能够应用到实际的工作场景中,让学习和工作事半功倍。

本书是一本讲解如何用Python 和Excel“强强联手”打造办公利器的案例型教程。全书共9 章。 ~ 3 章主要讲解Python 编程环境的搭建、Python 的基础语法知识、模块的安装和导入、常用模块的基本用法等内容,为后面的案例应用打下坚实的基础。第4 ~ 8 章通过大量典型案例讲解如何用Python 编程操控Excel,实现数据整理、数据分析、数据可视化等工作的自动化和批量化处理。第9 章主要讲解如何在Excel 中调用Python 代码,进一步拓宽办公自动化的应用范围。

本书理论知识精练,案例典型实用,学习资源齐备,适合有一定Excel 基础又想进一步提高工作效率的办公人员,如从事文秘、行政、人事、营销、财务等职业的人士阅读,也可供Python 编程爱好者参考。

王秀文

有超过 6 年的后端开发、运维开发经验,擅长 Python、Node.js、Java、Go 等主流编程语言。曾参与翻译Elasticsearch 官方技术文档。有IoT 系统开发经验和CRM 系统设计开发经验,现主要从事架构设计工作,负责系统设计与调优。

郭明鑫

有超过 8 年的后端开发、测试开发经验, 擅长Python、Java、Go、Smalltalk等主流编程语言。有丰富的数据分析经验和大数据项目设计开发经验,现主要从事电信领域的架构设计与实现,负责系统设计与算法调优。

王宇韬(CFA、FRM、AQF)

华能贵诚信托金融科技实验室发起人,宾夕法尼亚大学硕士,上海交通大学学士,曾在剑桥大学交流学习,两年内通过CFA 3 级、FRM 2 级、AQF。在华能贵诚信托自主研发了舆情监控系统、资金雷达、流程自动化AI 系统、机器视频面试系统等。专注于科技在金融领域的应用,编著有《Python 金融大数据挖掘与分析全流程详解》和《Python 大数据分析与机器学习商业案例实战》。

前言

如何获取学习资源

章 Python 快速上手

1.1 为什么要学习用Python 控制Excel

1.2 Python 编程环境的搭建

1.2.1 安装Python 官方的编程环境IDLE

1.2.2 安装与配置Anaconda 和PyCharm

1.3 Python 的模块

1.3.1 初识模块

1.3.2 模块的安装

1.4 让Excel 飞一下

第2章 Python 的基础语法知识

2.1 变量

2.2 数据类型:数字与字符串

2.2.1 数字

2.2.2 字符串

2.2.3 数据类型的查询

2.2.4 数据类型的转换

2.3 数据类型:列表、字典、元组与集合

2.3.1 列表

2.3.2 字典

2.3.3 元组和集合

2.4 运算符

2.4.1 算术运算符和字符串运算符

2.4.2 比较运算符

2.4.3 赋值运算符

2.4.4 逻辑运算符

2.5 编码基本规范

2.5.1 缩进

2.5.2 注释

2.6 控制语句

2.6.1 if 语句

2.6.2 for 语句

2.6.3 while 语句

2.6.4 控制语句的嵌套

2.7 函数

2.7.1 内置函数

2.7.2 自定义函数

第3章 Python 模块

3.1 模块的导入

3.1.1 import 语句导入法

3.1.2 from 语句导入法

3.2 处理文件和文件夹的模块—os

3.2.1 获取当前运行的Python 代码文件路径

3.2.2 列出指定路径下的文件夹包含的文件和子文件夹名称

3.2.3 分离文件主名和扩展名

3.2.4 重命名文件和文件夹

3.3 批量处理Excel 文件的模块—xlwings

3.3.1 创建工作簿

3.3.2 保存工作簿

3.3.3 打开工作簿

3.3.4 操控工作表和单元格

3.4 数组计算的数学模块—NumPy

3.4.1 数组的基础知识

3.4.2 数组的创建

3.5 数据导入和整理模块—pandas

3.5.1 二维数据表格DataFrame 的创建与索引的修改

3.5.2 文件的读取和写入

3.5.3 数据的选取和处理

3.5.4 数据表的拼接

3.6 数据可视化模块—Matplotlib

3.6.1 绘制折线图

3.6.2 绘制柱形图

3.7 模块的交互

3.7.1 xlwings 模块与pandas 模块的交互

3.7.2 xlwings 模块与Matplotlib 模块的交互

第4章 使用Python 批量处理工作簿和工作表

案例01 批量新建并保存工作簿

举一反三 批量新建并关闭工作簿

案例02 批量打开一个文件夹下的所有工作簿

举一反三 列出文件夹下所有文件和子文件夹的名称

案例03 批量重命名一个工作簿中的所有工作表

举一反三 批量重命名一个工作簿中的部分工作表

案例04 批量重命名多个工作簿

举一反三 批量重命名多个工作簿中的同名工作表

案例05 在多个工作簿中批量新增工作表

举一反三 在多个工作簿中批量删除工作表

案例06 批量打印工作簿

举一反三 批量打印多个工作簿中的指定工作表

案例07 将一个工作簿的所有工作表批量复制到其他工作簿

举一反三 将某个工作表的数据批量复制到其他工作簿的指定工作表中

案例08 按条件将一个工作表拆分为多个工作簿

举一反三 按条件将一个工作表拆分为多个工作表

举一反三 将多个工作表拆分为多个工作簿

案例09 批量合并多个工作簿中的同名工作表

举一反三 将工作簿中名称有规律的工作表合并到一个工作表

第5章 使用Python 批量处理行、列和单元格

案例01 精确调整多个工作簿的行高和列宽

举一反三 精确调整一个工作簿中所有工作表的行高和列宽

案例02 批量更改多个工作簿的数据格式

举一反三 批量更改多个工作簿的外观格式

案例03 批量替换多个工作簿的行数据

举一反三 批量替换多个工作簿中的单元格数据

举一反三 批量修改多个工作簿中指定工作表的列数据

案例04 批量提取一个工作簿中所有工作表的特定数据

举一反三 批量提取一个工作簿中所有工作表的列数据

举一反三 在多个工作簿的指定工作表中批量追加行数据

案例05 对多个工作簿中指定工作表的数据进行分列

举一反三 批量合并多个工作簿中指定工作表的列数据

举一反三 将多个工作簿中指定工作表的列数据拆分为多行

案例06 批量提取一个工作簿中所有工作表的唯一值

举一反三 批量提取一个工作簿中所有工作表的唯一值并汇总

第6章 使用Python 批量进行数据分析

案例01 批量升序排序一个工作簿中的所有工作表

举一反三 批量降序排序一个工作簿中的所有工作表

举一反三 批量排序多个工作簿中的数据

案例02 筛选一个工作簿中的所有工作表数据

举一反三 在一个工作簿中筛选单一类别数据

案例03 对多个工作簿中的工作表分别进行分类汇总

举一反三 批量分类汇总多个工作簿中的指定工作表

举一反三 将多个工作簿数据分类汇总到一个工作簿

案例04 对一个工作簿中的所有工作表分别求和

举一反三 对一个工作簿中的所有工作表分别求和并将求和结果写入固定单元格

案例05 批量统计工作簿的优选值和最小值

举一反三 批量统计一个工作簿中所有工作表的优选值和最小值

案例06 批量制作数据透视表

举一反三 为一个工作簿的所有工作表制作数据透视表

案例07 使用相关系数判断数据的相关性

举一反三 求单个变量和其他变量间的相关性

案例08 使用方差分析对比数据的差异

举一反三 绘制箱形图识别异常值

案例09 使用描述统计和直方图制定目标

举一反三 使用自定义区间绘制直方图

案例10 使用回归分析预测未来值

举一反三 使用回归方程计算预测值

第7章 使用Python 制作简单的图表并设置图表元素

案例01 在Python 中制作简单的图表

举一反三 在Python 中制作柱形图

举一反三 在Python 中制作条形图

举一反三 在Python 中制作饼图

案例02 在Python 中导入Excel 数据制作简单的图表

举一反三 导入数据制作散点图

举一反三 导入数据制作面积图

案例03 在Python 中制作组合图表

举一反三 制作双折线图

案例04 添加并设置图表标题和坐标轴标题

举一反三 添加图例

案例05 添加并设置数据标签

举一反三 设置y 轴的取值范围

案例06 为组合图表添加并设置次坐标轴

举一反三 添加并设置网格线

第8章 使用Python 制作常用图表

案例01 制作柱形图展示数据的对比关系

举一反三 批量制作条形图

案例02 制作折线图展示数据的变化趋势

举一反三 制作折线图并为最高点添加数据标签

举一反三 制作平滑折线图

案例03 制作散点图判断两组数据的相关性

举一反三 为散点图添加线性趋势线

举一反三 制作气泡图

案例04 制作饼图展示部分和总体的比例关系

举一反三 制作圆环图

案例05 制作雷达图对比多项指标

举一反三 制作某一品牌性能评价指标雷达图

案例06 制作温度计图展示工作进度

举一反三 制作上半年销售业绩的温度计图

第9章 在Excel 中调用Python 代码

9.1 在工作表中调用Python 自定义函数

9.1.1 在Excel 中加载xlwings 插件

9.1.2 导入并调用Python 自定义函数

9.2 在VBA 中调用Python 自定义函数

9.2.1 通过命令创建文件并调用Python 自定义函数

9.2.2 手动创建文件并调用Python 自定义函数

9.2.3 VBA 代码和Python 代码的混合使用

9.3 将Python 代码转换为可执行程序

9.3.1 PyInstaller 模块的语法和参数含义

9.3.2 将Python 代码打包成可执行程序

9.3.3 打包文件的实际应用

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_37988176/article/details/109414236

智能推荐

Varnish--CDN加速的实现(三):部署多个后端服务器、负载均衡和虚拟主机-程序员宅基地

一、CDN清除缓存1.编辑default.vcl[root@server1 varnish]# vim default.vclbackend web1 {.host = “172.25.23.2”;.port = “80”;}sub vcl_deliver {if (obj.hits > 0) {set resp.http.X-Cache = “HIT from westo...

解决JAVA导出大数据的EXCEL文件_zipsecurefile.setmininflateratio(0);-程序员宅基地

在工作中遇到了要导出30多万条数据的excel文件,写了一个工具类。如下:import java.beans.BeanInfo;import java.beans.IntrospectionException;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.io.File;_zipsecurefile.setmininflateratio(0);

python列表的join方法_python中列表元素连接方法join用法_程承的博客-程序员宅基地

创建列表:>>> music = ["Abba","Rolling Stones","Black Sabbath","Metallica"] >>> print music输出:['Abba', 'Rolling Stones', 'Black Sabbath', 'Metallica']通过join函数通过空格连接列表中的元素:>>> pri..._python table join

如何保证消息不被重复消费?(如何保证消息消费时的幂等性)-程序员宅基地

下面是可能重复消费的问题。首先就是比如rabbitMQ、rocketMQ、kafka,都有可能出现重复消费的问题,正常。因为这问题通常不是mq自己保证的,是给你保证的。然后我们挑一个kafka来举个例子,说说怎么重复消费的。kafka实际上有个offset的概念,就是每个消息写进去,都有一个offset,代表他的序号,然后consumer消费了数据之后,每隔一段时间,会把自己消费过的消息的...

RedisTemplate使用最详解(四)--- opsForSet()_学习中啊哈哈的博客-程序员宅基地

1、add(K key, V… var2)向key中批量添加值redisTemplate.opsForSet().add("set", "aa", "bb", "cc");redisTemplate.opsForSet().add("set", "ee");2、members(K key)获取key中的值Set set = redisTemplate.opsForSet().members("set");System.out.println("set = " + set);3_opsforset

随便推点

auto.offset.reset介绍及spark无法读取属性对于old message-程序员宅基地

我们先看看最新的官方文档说明:What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server (e.g. because that data has been deleted):earliest: automatically ...

排序算法之快速排序详解_快速排序排序规则-程序员宅基地

1、基本介绍快速排序(Quicksort)是对冒泡排序的一种改进。基本思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。2、快速排序图解动图演示:小结快速排序规则:快速排序使用分治法..._快速排序排序规则

关线程安全以及如何实现线程安全_6、什么是线程安全?如何实现线程安全?-程序员宅基地

有时候越是基础的概念,反而越是模糊。有时候先要对概念理解清楚。学习Java多线程,经常跟线程安全打交道,那么什么是线程安全呢?一、什么是线程安全《Java并发编程实践》中对线程安全有这样的定义:当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象就是线程..._6、什么是线程安全?如何实现线程安全?

Div的碰撞检测_jquery div碰撞-程序员宅基地

<div id="overall"> <div id="tgamewin"> <div id="back_bj"> <div id="map4000011" class="Thescenemap"></div> </div> <div id="role"> <div id="role..._jquery div碰撞

java中b tree_什么是B-Tree?-程序员宅基地

B-Tree就是我们常说的B树,一定不要读成B减树,否则就很丢人了。B树这种数据结构常常用于实现数据库索引,因为它的查找效率比较高。磁盘IO与预读磁盘读取依靠的是机械运动,分为寻道时间、旋转延迟、传输时间三个部分,这三个部分耗时相加就是一次磁盘IO的时间,大概9ms左右。这个成本是访问内存的十万倍左右;正是由于磁盘IO是非常昂贵的操作,所以计算机操作系统对此做了优化:预读;每一次IO时,不仅仅把当..._b-trees java

Linux下使用TC模拟网络延迟/带宽_tc 带宽-程序员宅基地

文章目录TChandle(命名)qdiscclassless qdiscFIFO, First-In First-Out (pfifo and bfifo)SFQ, Stochastic Fair Queuingnetemclassful qdiscHTBclassfilteru32一些参考命令wondershapertcng参考TCTraffic Control.tc被用来在linux内核..._tc 带宽