目录
- Ⅰ Python基础
- 1. Python入门
- 2. 流程控制
- 3. Python函数使用
- 4. Python中的列表
- 5. 字典
- 6. Python中的字符串
- 7. 异常
- Ⅱ Python 进阶
- 3. 模块
- Ⅳ Python日常工具
- 4. 用 Python 处理电子表格
- 1. DOCX 文档解析与处理
- 2. 用Python进行图像处理
- 3. 使用Python处理PDF文档
- 4. Web信息解析与处理
- 5. Web信息生成与发布
- 6. 自动化Email处理
- Ⅴ 专题
- 1. Pillow图像处理
- 2. OpenCV处理
- 3. 数据库自动化报表处理:使用SQLite
- 4. Python和Web
- 5. Web信息处理
- 6. Web模板引擎
- 7. XML 处理
- Ⅵ 图像处理:使用scikit-image
- 1. skimage数字图像处理基础
- 2. skimage数字图像处理中级
- 3. skimage数字图像处理高级
- Ⅶ 科学计算
- 1. NumPy数值计算
- 2. SciPy科学类库
- 3. SymPy符号运算
- 4. Matplotlib绘图
- 5. Pandas 第一部分
- 6. Pandas 第二部分
- 6.1. Pandas排序
- 6.2. Pandas字符串和文本数据
- lower()函数示例
- upper()函数示例
- len()函数示例
- strip()函数示例
- split(pattern)函数示例
- cat(sep=pattern)函数示例
- get_dummies()函数示例
- contains()函数示例
- replace(a,b)函数示例
- repeat(value)函数示例
- count(pattern)函数示例
- startswith(pattern)函数示例
- endswith(pattern)函数示例
- find(pattern)函数示例
- findall(pattern)函数示例
- swapcase()函数示例
- islower()函数示例
- isupper()函数示例
- isnumeric()函数示例
- 6.3. Pandas选项和自定义
- 6.4. Pandas索引和选择数据
- 6.5. Pandas统计函数
- 6.6. Pandas窗口函数
- 6.7. Pandas聚合
- 6.8. Pandas缺失数据
- 6.9. Pandas分组(GroupBy)
- 6.10. Pandas合并/连接
- 6.11. Pandas级联
- 7. Pandas 第三部分
>>> from helper import info; info()
页面更新时间: 2020-03-21 22:41:10
操作系统/OS: Linux-4.19.0-8-amd64-x86_64-with-debian-10.3 ;Python: 3.7.3
处理 XLSX 电子表格¶
Excel是Windows环境下流行的、强大的电子表格应用。 openpyxl 模块让Python程序能读取和修改Excel 电子表格文件。例如,可能有一个无聊的任务, 需要从一个电子表格拷贝一些数据,粘贴到另一个电子 表格中。或者可能需要从几千行中挑选几行,根据某种 条件稍作修改。或者需要查看几百份部门预算电子表格, 寻找其中的赤字。正是这种无聊无脑的电子表格任务, 可以通过Python来完成。
LibreOffice Calc 和 OpenOffice Calc 都能 处理Excel的电子表格文件格式,这意味着 openpyxl 模块也能处理来自这些应用程序的电子表格。 你可以从https://www.libreoffice.org/ 和http://www.openoffice.org/ 下载这些软件。 即使你的计算机上已经安装了Excel,可能也会发现这些 程序更容易使用。但是,本章中的截屏图都来自于 Windows 7 上的Excel 2010。
Excel 文档¶
首先,让我们来看一些基本定义。一个Excel电子 表格文档称为一个工作簿。一个工作簿保存在 扩展名为.xlsx的文件中。每个工作簿可以包含 多个表(也称为工作表)。用户当前查看的表 (或关闭 Excel 前最后查看的表),称为活动表。
每个表都有一些列(地址是从A开始的字母) 和一些行(地址是从1开始的数字)。在特定行和 列的方格称为单元格。每个单元格都包含一个 数字或文本值。单元格形成的网格和数据构成了表。
安装openpyxl模块¶
Python没有自带 openpyxl
,所以必须安装。
按照附录A中安装第三方模块的指令,模块的名称 是 openpyxl
。要测试它是否安装正确, 就在交互式环境中输入以下代码:
>>> import openpyxl
如果该模块正确安装,这应该不会产生错误消息。
记得在运行本章的交互式环境例子之前,要导入 openpyxl
模块,否则会得到错误, NameError:name 'openpyxl'is not defined
。
本书介绍了 openpyxl
的2.1.4版,但 OpenPyXL
团队会经常发布新版本。不过不用担心,
新版本应该在相当长的时间内向后兼容,支持本书中
使用的指令。如果你有新版本,想看看它提供了什么 新功能,可以查看
OpenPyXL
的完整文档: http://openpyxl.readthedocs.org/。
习题¶
对于以下的问题,设想你有一个 Workbook
对象保存在变量 wb
中,一个
Worksheet
对象保存在 sheet
中, 一个 Cell
对象保存在
cell
中,一个 Comment
对象 保存在 comm
中,一个 Image
对象保存在 img
中。
openpyxl.load_workbook()
函数返回什么?
get_sheet_names()
工作簿方法返回什么?如何取得名为
'Sheetl'
的工作表的Worksheet
对象?如何取得工作簿的活动工作表的
Worksheet
对象?如何取得单元格
C5
中的值?如何将单元格
C5
中的值设置为"Hello"
?如何取得表示单元格的行和列的整数?
工作表方法
get_highest_column()
和get_highest_row()
返回什么?这些返回值的类型是什么?如果要取得列
'M'
的整数下标,需要调用什么函数?如果要取得列14的字符串名称,需要调用什么函数?
如何取得从
A1
到F1
的所有Cell
对象的元组?如何将工作簿保存到文件名
example.xlsx
?如何在一个单元格中设置公式?
如果需要取得单元格中公式的结果,而不是公式本身,必须先做什么?
如何将第5行的高度设置为100?
如何设置列
C
的宽度?列出一些
openpyxl 2.1.4
不会从电子表格文件中加载的功能。什么是冻结窗格?
创建一个条形图,需要调用哪5个函数和方法?