Excel文档的读取(1)

熟悉使用Excel的同学应该都知道,在单个Excel表格里想要分商品计算总销售额,使用数据透视表也可以非常快速方便的获得结果。
但当有非常大量的Excel文件需要处理时,每一个Excel文件单独去做数据透视也会消耗大量的时间。
就算使用Power Query这样的工具进行多表合一,也会有同一个工作表太大导致电脑太卡和所有Excel文件格式必须一样这样的问题。
Python读取、处理Excel文件优势就在于处理大量文件也非常快速以及应付各种不同格式的文件和不同需求的灵活性。

今天,我们将学习解决这个问题的第一步:

读取单个月份Excel表格数据。
剩下的三步将在明天和后天的课程中进行学习,并最终解决阿珍的问题。在开始读取表格数据前, 我们需要先学习一下Excel表格的基本结构。

|-------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------|
| 一个Excel表格文件,又叫做一个工作簿(Workbook)。 | |
| 一个工作簿中包含一个或多个工作表(Worksheet)。 在工作薄页面的左下方可以进行工作表的切换和增删。 | |
| 一个工作表由单元格(Cell)组成。Excel的数据存储在单元格中。 我们可以通过列号(Column)和行号(Row)对单元格进行定位。 | |
| 行号默认从数字1开始,并依次递增。 列号默认从字母A开始,依次递增。超过字母Z后,以AA,AB的方式继续计数。 | |
| | |
| 下面,我们通过观察Excel表格来思考一下,如何计算单个月份的销售额: 整个工作簿内一共有两个工作表,要计算销售额,需要用到"销售订单数据"这张表。 这张表的每一行数据为一个订单。 其中每个订单的第C列为商品名,我们可以用来判断是否为"火龙果可乐"。 | |
| 表格中第I列为订单的总价。 当这行订单的C列的商品名是"火龙果可乐"的时候,我们需要把符合要求的订单I列的总价逐个加起来。 总价相加之后,就得到这个月的"火龙果可乐"销售额啦。 | |

根据这个思路,我们得出了整个计算单个月份"火龙果可乐"销售额的步骤:

  1. 读取工作表:"销售订单数据"
  2. 逐行读取订单数据
  3. 把"火龙果可乐"的订单总价相加
    这些步骤我们会在今明两天的课程中去实现。

|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 在终端中输入pip install openpyxl安装模块。 |
| 要使用Python对Excel表格进行读取,我们需要安装一个用于读取数据的工具 openpyxl 。openpyxl 是一个用于读、写Excel文件的++开源++ 模块。 安装openpyxl非常简单,在终端中输入代码:++pip install openpyxl++ 即可。 如果在自己电脑上安装不上或安装缓慢,可在命令后添加如下配置进行加速: pip install openpyxl -i https://pypi.tuna.tsinghua.edu.cn/simple/ |
| |

|----------------------------------------------------------------------------|
| 读取当前运行目录里名为"2019年1月销售订单.xlsx"的工作簿并赋值给变量wb |
| |

|----------------------------------------------------------------------------|
| |

相关推荐
ValhallaCoder5 小时前
hot100-二叉树I
数据结构·python·算法·二叉树
猫头虎6 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
八零后琐话6 小时前
干货:程序员必备性能分析工具——Arthas火焰图
开发语言·python
青春不朽5128 小时前
Scrapy框架入门指南
python·scrapy
MZ_ZXD0018 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php
全栈老石9 小时前
Python 异步生存手册:给被 JS async/await 宠坏的全栈工程师
后端·python
梨落秋霜9 小时前
Python入门篇【模块/包】
python
阔皮大师10 小时前
INote轻量文本编辑器
java·javascript·python·c#
小法师爱分享10 小时前
StickyNotes,简单便签超实用
java·python