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

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

相关推荐
Dxy12393102167 分钟前
Python基于BERT的上下文纠错详解
开发语言·python·bert
SiYuanFeng1 小时前
Colab复现 NanoChat:从 Tokenizer(CPU)、Base Train(CPU) 到 SFT(GPU) 的完整踩坑实录
python·colab
炸炸鱼.2 小时前
Python 操作 MySQL 数据库
android·数据库·python·adb
_深海凉_3 小时前
LeetCode热题100-颜色分类
python·算法·leetcode
AC赳赳老秦3 小时前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
zhaoshuzhaoshu3 小时前
Python 语法之数据结构详细解析
python
AI问答工程师4 小时前
Meta Muse Spark 的"思维压缩"到底是什么?我用 Python 复现了核心思路(附代码)
人工智能·python
zfan5205 小时前
python对Excel数据处理(1)
python·excel·pandas
小饕5 小时前
我从零搭建 RAG 学到的 10 件事
python
老歌老听老掉牙5 小时前
PyQt5+Qt Designer实战:可视化设计智能参数配置界面,告别手动布局时代!
python·qt