Excel+Python飞速搞定数据分析与处理

摘要

xlwings创始人教你如何让Excel飞起来!* 告别烦琐公式和VBA代码* 办公人士零压力学Python* 流行Python库xlwings创始人亲授每当花上几小

xlwings创始人教你如何让Excel飞起来!

* 告别烦琐公式和VBA代码

* 办公人士零压力学Python

* 流行Python库xlwings创始人亲授

每当花上几小时手动更新Excel工作簿时,或者每当Excel工作簿因保存了太多数据而崩溃时,你都应该停下来,思考自己是否应该换个工作方式。《Excel + Python》将展示为什么在Excel中引入Python是明智之举——你将能够轻松突破Excel的瓶颈,避免人为错误,把更多宝贵的时间花在能产生更大价值的任务上。

在微软运营的在线用户反馈论坛上,大量用户提出希望“将Python作为Excel的脚本语言”。相比Excel现有的VBA语言,Python究竟有何优势,又该如何发挥这些优势?开源Python库xlwings的诞生很好地回答了这些问题,它让Excel和Python珠联璧合。作为xlwings的创始人,《Excel + Python》作者将展示如何借用Python的力量,让Excel快得飞起来!

前言 xiii

第一部分 Python入门

第 1 章 为什么要用Python为Excel编程 3

1.1 Excel作为一门编程语言 4

1.1.1 新闻中的Excel 5

1.1.2 编程最佳实践 5

1.1.3 现代Excel 10

1.2 用在Excel上的Python 11

1.2.1 可读性和可维护性 11

1.2.2 标准库和包管理器 12

1.2.3 科学计算 13

1.2.4 现代语言特性 14

1.2.5 跨平台兼容性 15

1.3 小结 15

第 2 章 开发环境 17

2.1 Anaconda Python发行版 18

2.1.1 安装 18

2.1.2 Anaconda Prompt 19

2.1.3 Python REPL:交互式Python会话 21

2.1.4 包管理器:Conda和pip 22

2.1.5 Conda环境 24

2.2 Jupyter笔记本 24

2.2.1 运行Jupyter笔记本 25

2.2.2 笔记本单元格 26

2.2.3 编辑模式与命令模式 28

2.2.4 执行顺序很重要 28

2.2.5 关闭Jupyter笔记本 28

2.3 VS Code 30

2.3.1 安装和配置 31

2.3.2 执行Python脚本 33

2.4 小结 36

第 3 章 Python入门 37

3.1 数据类型 37

3.1.1 对象 38

3.1.2 数值类型 39

3.1.3 布尔值 41

3.1.4 字符串 42

3.2 索引和切片 43

3.2.1 索引 43

3.2.2 切片 44

3.3 数据结构 45

3.3.1 列表 45

3.3.2 字典 47

3.3.3 元组 49

3.3.4 集合 49

3.4 控制流 50

3.4.1 代码块和pass语句 50

3.4.2 if 语句和条件表达式 51

3.4.3 for 循环和while循环 52

3.4.4 列表、字典和集合推导式 55

3.5 组织代码 56

3.5.1 函数 56

3.5.2 模块和import语句 57

3.5.3 datetime类 59

3.6 PEP 8:Python风格指南 61

3.6.1 PEP 8和VS Code 62

3.6.2 类型提示 63

3.7 小结 64

第二部分 pandas入门

第4 章 NumPy基础 67

4.1 NumPy入门 67

4.1.1 NumPy数组 67

4.1.2 向量化和广播 69

4.1.3 通用函数 70

4.2 创建和操作数组 71

4.2.1 存取元素 71

4.2.2 方便的数组构造器 72

4.2.3 视图和副本 73

4.3 小结 73

第 5 章 使用pandas进行数据分析 74

5.1 DataFrame和Series 74

5.1.1 索引 76

5.1.2 列 79

5.2 数据操作 80

5.2.1 选取数据 80

5.2.2 设置数据 85

5.2.3 缺失数据 87

5.2.4 重复数据 89

5.2.5 算术运算 90

5.2.6 处理文本列 91

5.2.7 应用函数 92

5.2.8 视图和副本 93

5.3 组合DataFrame 94

5.3.1 连接 94

5.3.2 连接和合并 95

5.4 描述性统计量和数据聚合 97

5.4.1 描述性统计量 97

5.4.2 分组 98

5.4.3 透视和熔化 99

5.5 绘图 100

5.5.1 Matplotlib 100

5.5.2 Plotly 102

5.6 导入和导出DataFrame 104

5.6.1 导出CSV文件 105

5.6.2 导入CSV文件 106

5.7 小结 107

第6 章 使用pandas进行时序分析 109

6.1 DatetimeIndex 110

6.1.1 创建DatetimeIndex 110

6.1.2 筛选DatetimeIndex 112

6.1.3 处理时区 113

6.2 常见时序操作 114

6.2.1 移动和百分比变化率 114

6.2.2 基数的更改和相关性 116

6.2.3 重新采样 118

6.2.4 滚动窗口 119

6.3 pandas的局限性 120

6.4 小结 121

第三部分 在Excel之外读写Excel文件

第 7 章 使用pandas操作Excel文件 125

7.1 案例研究:Excel报表 125

7.2 使用pandas读写Excel文件 128

7.2.1 read_excel函数和ExcelFile类 128

7.2.2 to_excel方法和ExcelWriter类 133

7.3 使用pandas处理Excel文件的局限性 134

7.4 小结 135

第 8 章 使用读写包操作Excel文件 136

8.1 读写包 136

8.1.1 何时使用何种包 137

8.1.2 excel.py模块 138

8.1.3 OpenPyXL 139

8.1.4 XlsxWriter 143

8.1.5 pyxlsb 145

8.1.6 xlrd、xlwt和xlutils 146

8.2 读写包的高级主题 149

8.2.1 处理大型Excel文件 149

8.2.2 调整DataFrame在Excel中的格式 152

8.2.3 案例研究(复习):Excel报表 157

8.3 小结 158

第四部分 使用xlwings对Excel应用程序进行编程

第 9 章 Excel自动化 161

9.1 开始使用xlwings 162

9.1.1 将Excel用作数据查看器 162

9.1.2 Excel对象模型 163

9.1.3 运行VBA代码 170

9.2 转换器、选项和集合 170

9.2.1 处理DataFrame 171

9.2.2 转换器和选项 172

9.2.3 图表、图片和已定义名称 174

9.2.4 案例研究(再次回顾):Excel报表 177

9.3 高级xlwings主题 179

9.3.1 xlwings的基础 179

9.3.2 提升性能 180

9.3.3 如何弥补缺失的功能 181

9.4 小结 182

第 10 章 Python驱动的Excel工具 183

10.1 利用xlwings将Excel用作前端 183

10.1.1 Excel插件 184

10.1.2 quickstart命令 185

10.1.3 Run main 186

10.1.4 RunPython函数187

10.2 部署 191

10.2.1 Python依赖 191

10.2.2 独立工作簿:脱离xlwings插件 191

10.2.3 配置的层次关系 192

10.2.4 设置 193

10.3 小结 194

第 11 章 Python包追踪器 195

11.1 构建什么样的应用程序 195

11.2 核心功能 197

11.2.1 Web API 198

11.2.2 数据库 201

11.2.3 异常 208

11.3 应用程序架构 210

11.3.1 前端 211

11.3.2 后端 215

11.3.3 调试 217

11.4 小结 219

第 12 章 用户定义函数 220

12.1 UDF入门 220

12.2 案例研究:Google Trends 225

12.2.1 Google Trends简介 225

12.2.2 使用DataFrame和动态数组 226

12.2.3 从Google Trends上获取数据 231

12.2.4 使用UDF绘制图表 234

12.2.5 调试UDF 236

12.3 高级UDF主题 238

12.3.1 基础性能优化 238

12.3.2 缓存 240

12.3.3 sub装饰器 242

12.4 小结 243

附录A Conda环境 245

附录B 高级VS Code功能 248

附录C 高级Python概念 253


Python OpenCV从入门到精通

《Python OpenCV从入门到精通》以在Python开发环境下运用OpenCV处理图像为主线,全面介绍OpenCV提供的处理图像的方法。全书共分为16章,包
阅读全文