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 |
| |

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

相关推荐
Bigcrab__3 分钟前
Python3网络爬虫开发实战(15)Scrapy 框架的使用(第一版)
爬虫·python·scrapy
易辰君1 小时前
Python编程 - 协程
开发语言·python
宇宙第一小趴菜1 小时前
探索网络世界:TCP/IP协议、Python Socket编程及日常生活比喻
网络·python·tcp/ip
小黑031 小时前
Phoenix使用
开发语言·python
南斯拉夫的铁托1 小时前
(PySpark)RDD实验实战——求商品销量排行
python·spark·pyspark
kay_5451 小时前
YOLOv8改进 | 模块缝合 | C2f 融合SCConv提升检测性能【CVPR2023】
人工智能·python·深度学习·yolo·目标检测·面试·yolov8改进
kngines1 小时前
【PLW004】基于Python网络爬虫与推荐算法的新闻推荐平台v1.0(Python+Django+NLP+Vue+MySQL前后端分离)
爬虫·python·nlp·推荐算法
激动的兔子2 小时前
Python_两个jpg图片文件名称互换
python
计算机学姐2 小时前
基于python+django+vue的医院预约挂号系统
开发语言·vue.js·后端·python·mysql·django·tornado
嵌入式杂谈2 小时前
计算机视觉——基于OpenCV和Python进行模板匹配
python·opencv·计算机视觉