Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel 电子表格文件。例如,可能有一个无聊的任务,需要从一个电子表格拷贝一些数据,粘贴到另一个电子表格中。或者可能需要从几千行中挑选几行,根据某种条件稍作修改。或者需要查看几百份部门预算电子表格,寻找其中的赤字。正是这种无聊无

脑的电子表格任务,可以通过 Python 来完成。LibreOffice Calc, WPS 和 OpenOffice Calc 都能处理 Excel 的电子表格文件格式,这意味着 openpyxl 模块也能处理来自这些应用程序的电子表格。你可以从 https://www.libreoffice.org/和 http://www.openoffice.org/下载这些软件。即使你的计算机上已经安装了 Excel,可能也会发现这些程序更容易使用。

1. Excel文档基本定义

工作簿(workbook): 一个 Excel 电子表格文档;

工作表(sheet): 每个工作簿可以包含多个表, 如: sheet1, sheet2等;

活动表(active sheet): 用户当前查看的表;

列(column): 列地址是从 A 开始的;

行(row): 行地址是从 1 开始的;

单元格(cell): 特定行和列的方格;

2. 安装 openpyxl 模块

Python 没有自带 openpyxl,所以必须安装。

pip3 install openpyxl

3. 读取 Excel 文档

将使用一个电子表格 example.xlsx,你可以自己创建这个电子文档,内容如下:

在导入 openpyxl 模块后,就可以使用 openpyxl.load_workbook()函数。打开 Excel 文档

# 导入工作薄

1. wb = openpyxl.load_workbook('excelDemo/example.xlsx') # 加载工作薄

2. wb.sheetnames # 获取当前所有工作表的名称, 返回一个列表

3. wb.active # 获取当前活跃的工作表

从工作簿中取得工作表

4. sheet = wb['Sheet1'] # 工作表

5. sheet.title # 获取当前活动表的名称

6. sheet.cell(row=1, column=2) # 获取单元格指定行和指定列的内容

表中取得单元格

Cell 对象有一个 value 属性,不出意外,它包含这个单元格中保存的值。Cell 对象也有 row、column 和 coordinate 属性,提供该单元格的位置信息。

row属性给出的是整数 1,column 属性给出的是'B',coordinate 属性给出的是'B1'。

6. cell = sheet['A1']

7. cell_value = sheet['A1'].value

8. cell.row, cell.column cell.coordinate

4. 工作簿、工作表、单元格

下面是从电子表格文件中读取单元格涉及的所有函数、方法和数据类型。一个完整的操作过程如下:

导入 openpyxl 模块。

调用 openpyxl.load_workbook()函数。

取得 Workbook 对象。

调用 wb.sheetnames和 wb.active 获取工作簿详细信息。

取得 Worksheet 对象。

使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。

取得 Cell 对象。

读取 Cell 对象的 value 属性

一个完整的案例代码如下:

import openpyxl

# 1. 读取excel文档

wb = openpyxl.load_workbook('excelDemo/example.xlsx')

# # 返回一个workbook对象, 有点类似于文件对象;

# print(wb, type(wb))

# 2. 在工作薄中取得工作表

# print(wb.get_sheet_names())

# 返回一个列表, 存储excel表中所有的sheet工作表;

print(wb.sheetnames)

# 返回一个worksheet对象, 返回当前的活动表;

# print(wb.get_active_sheet())

# print(wb.active)

# 3. 获取工作表中, 单元格的信息

# wb.get_sheet_by_name('Sheet1')

sheet = wb['example']

print(sheet['A1'])

print(sheet['B1'].value)

cell = sheet['B1']

print(cell.row, cell.column)

print(sheet.cell(row=3, column=2))

print(sheet.cell(row=3, column=2).value)

print(sheet.cell(row=3, column=2, value='www'))

# sheet的属性

print(sheet.max_column)

print(sheet.max_row)

print(sheet.title)

sheet.title = 'example'

print(sheet.title)

for row in sheet.rows:

for cell in row:

print(cell.value, end=' ')

print(' ')

wb.save(filename="excelDemo/example.xlsx")

python与excel的差别-python3与Excel的完美结合相关推荐

  1. python怎么读取excel某一行某一列-python3读取excel文件只提取某些行某些列的值方法...

    今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd 然后上代码: imp ...

  2. python读取excel某一行内容-python3读取excel文件只提取某些行某些列的值方法

    今天有一位同学给了我一个excel文件,要求读取某些行,某些列,然后我试着做了一个demo,这里分享出来,希望能帮到大家: 首先安装xlrd: pip3 install xlrd 然后上代码: imp ...

  3. 【Python数据分析】Python3操作Excel(二) 一些问题的解决与优化

    [Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 参考文章: (1)[Python数据分析]Python3操作Excel(二) 一些问题的解决与优化 (2)https: ...

  4. Python开发 之 Python3读写Excel文件(较全)

    Python3读写Excel文件 1.Python中几种常用包比较 2.用xlrd包读取Excel文件 2.1.用法 2.1.1.引用包 2.1.2.打开文件 2.1.3.获取你要打开的sheet文件 ...

  5. python与excel结合-python3与Excel的完美结合

    1.创建对象 打开或者创建一个Excel需要创建一个Workbook对象 获取一个表则需要先创建一个Workbook对象,然后使用该对象的方法来得到一个Worksheet对象 如果要获取表中的数据,那 ...

  6. python3读取excel数据-Python3将爬取的数据存储到Excel

    我们学习 Python3 爬虫的目的是为了获取数据,存储到本地然后进行下一步的作业,今天小雨就教大家 python3 如何将爬取的数据插入到 Excel 我们直接来讲如何写入 Excel 文件: 基本 ...

  7. python3读取excel数据-Python3读取和写入excel表格数据的示例代码

    python操作excel主要用到 xlrd 和 xlwt 这两个库,xlrd读取excel表格数据, 支持 xlsx和xls格式的excel表格 :xlwt写入excel表格数据: 一.python ...

  8. python3读取excel数据-python3读取Excel表格数据的代码分享

    python3 读取Excel表格中的数据 需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- c ...

  9. python3读取excel数据-python3 读取Excel表格中的数据

    需要先安装openpyxl库 通过pip命令安装: pip install openpyxl 源码如下: #!/usr/bin/python3 #-*- coding:utf-8 -*- import ...

最新文章

  1. 2.0-zabbix配置邮件告警
  2. 统计5分钟内Nginx访问量及平均相应时间
  3. 《以前工作中的三大痛点,只因他们没学Python》
  4. ProtoBuf协议详解
  5. Candies-POJ 3159
  6. 腾讯优测优分享 | 双卡双待-工程师难言的痛
  7. 海南省月降水量分布数据
  8. aspnetpager使用介绍
  9. CAD快捷键命令------画矩形
  10. 图像处理/opencv/C++:图像马赛克
  11. 避免使用ordinal方法
  12. 海龟交易法:如何防止模型死亡
  13. Hbuider H5+App获取手机状态栏高度
  14. 漂亮妹妹~~~~~~`
  15. display和visility
  16. [ZT]入门级磁带机使用方法
  17. SQL Server DeadLock 分析
  18. Java工具类------Math类的详解及使用
  19. (16)UVM sequence和item
  20. 在Qt中使用回调函数替代信号槽

热门文章

  1. Altium Designer /DXP无网络铺铜:
  2. sort (STL)
  3. Android短信拦截
  4. Delphi (Library Path Browsing Path)
  5. ASP.Net网站文件类型大全
  6. vscode中内置集成终端显示为git(bash.exe)
  7. 实例化Bean的方法(基于xml配置)-http://blog.csdn.net/shymi1991/article/details/48153293
  8. js数组 sort方法的分析
  9. 企业信息化的创新与出路
  10. HTML5和Flash——如何选择合适的工具