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

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

相关推荐
用户8356290780513 分钟前
使用 Python 操作 Word 内容控件
后端·python
码云骑士2 小时前
32-慢查询排查全流程(下)-索引优化实战与最左前缀原则
python
闵孚龙2 小时前
《PyTorch 深度修炼》Dataset 和 DataLoader:数据如何喂给模型
人工智能·pytorch·python
goldenrolan2 小时前
A公司物料替代测试系统 v1.7:从需求到 exe/apk 的 AI 辅助全链路实践
android·自动化测试·软件测试·python·ai
菜板春3 小时前
jupyter入门-手册-特征探索
python·jupyter
Metaphor6923 小时前
使用 Python 将 PDF 转换为 HTML
python·pdf·html
极光代码工作室3 小时前
基于数据仓库的电商数据分析平台
大数据·hadoop·python·spark·数据可视化
开发小能手-roy3 小时前
StringBuilder vs StringBuffer:2024年还需要线程安全字符串吗?
开发语言·python·安全
AC赳赳老秦4 小时前
用 OpenClaw 搭建服务器故障应急响应系统,自动处理 80% 常见运维故障
android·运维·服务器·python·rxjava·deepseek·openclaw