openpyxl-用python操作excel的内容

这里需要你的电脑里有linux,我上传了wps在网盘里,你也可以在官网下载,yum install 自行安装即可。2016wps

还需要下载openpyxl,因为我有conda虚拟环境,所以我在虚拟环境里pip install openxl。大家根据自己需要安装到自己所用的python版本中。

openpyxl-用python操作excel的内容_第1张图片
Excel 是 Windows 环境下流行的、强大的电子表格应用。openpyxl 模块让 Python 程序能读取和修改 Excel电子表格文件。例如,可能有一个无聊的任务,需要从一个电子表格拷贝一些数据,粘贴到另一个电子表格中。或者可能需要从几千行中挑选几行,根据某种条件稍作修改。或者需要查看几百份部门预算电子表格,寻找其中的赤字。正是这种无聊无脑的电子表格任务,可以通过 Python 来完成。LibreOffice Calc, WPS 和 OpenOffice Calc 都能处理 Excel 的电子表格文件格式,这意味着 openpyxl 模块也能处理来自这些应用程序的电子表格。你可以从https://www.libreoffice.org/ 和 http://www.openoffice.org/
下载这些软件。即使你的计算机上已经安装了 Excel,可能也会发现这些程序更容易使用。

先熟悉一下openxl中的excel的一些英文表达:

1. Excel的基本定义

  • 工作薄(workbook):一个Excel电子表格;
  • 工作表(sheet): 每个工作薄里面包含的表, 默认有3个;
  • 活动表(active sheet): 用户当前查看的工作表;
  • 单元格(cell): 特定的行和列构成的格子;
  • 列(column): 列地址是从A开始的;
  • 行(row):行地址是从1开始的;

特别的wps版本比较低时注意:

2注意. 版本 < 2007使用xlrd模块实现

import xlrd
wb = xlrd.open_workbook('/tmp/Book1.xls')	#导入Book1.xls内容,注意xls为2007一下版本,以上版本后缀为xlsx,除了这个导入操作不一样外其余都和xlsx一样
print(wb.sheet_names())	# 打印包含的工作表名

3.读取 Excel 文档(.xlsx)

我在/tmp下保存了名为Book1的excel文档
openpyxl-用python操作excel的内容_第2张图片
在这里插入图片描述

在导入 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

下面是从电子表格文件中读取单元格涉及的所有函数、方法和数据类型。一个完整的操作过程如下:
1导入 openpyxl 模块。
2调用 openpyxl.load_workbook()函数。
3取得 Workbook 对象。
4调用 wb.sheetnames和 wb.active 获取工作簿详细信息。
5取得 Worksheet 对象。
6使用索引或工作表的 cell()方法,带上 row 和 column 关键字参数。
7取得 Cell 对象。
8读取 Cell 对象的 value 属性

1. 导入工作薄

wb = openpyxl.load_workbook('/tmp/Book1.xlsx')

2. 查看包含的工作表

print(wb.sheetnames)	

openpyxl-用python操作excel的内容_第3张图片

3. 查看当前活动表

print(wb.active)

在这里插入图片描述

4. 从工作薄中选择要操作的工作表

sheet = wb['成绩表']

5. 查看制定单元格的数据

print(sheet['B3'])

在这里插入图片描述

6. 获取单元格详细信息

cell = sheet['B3'] #第一种方法
cell = sheet.cell(row=3, column=2)	#第二种方法
print(cell.value)

openpyxl-用python操作excel的内容_第4张图片openpyxl-用python操作excel的内容_第5张图片

7. 修改单元格信息

cell = sheet.cell(row=3, column=2)
cell.value = 2222 #把3行2列的内容改为2222

8. 保存修改的信息

cell = sheet.cell(row=3, column=2)
cell.value = 2222
wb.save('/tmp/Book1.xlsx')

查看一下Book1.xlsx有没有改变
openpyxl-用python操作excel的内容_第6张图片

9. 获取工作表的总行和总列数

print(sheet.max_column)
print(sheet.max_row)

openpyxl-用python操作excel的内容_第7张图片

10. 修改单元表的名称

print(sheet.title)

openpyxl-用python操作excel的内容_第8张图片

sheet.title = "修改的成绩表"
wb.save('/tmp/Book1.xlsx')  #记得保存

重新打开Book1查看当前工作表的名字被修改成修改的成绩表
openpyxl-用python操作excel的内容_第9张图片

11. 遍历历EXCEL表格的所有数据;

print(sheet.rows)   #如果直接打印rows, 返回的是一个生成器

在这里插入图片描述

# 用for循环遍历历每一行
for row in sheet.rows:
    # 获取每一行, 每个单元格的数据
    for cell in row:
        print(cell.value, end='\t')
    print('\n')

openpyxl-用python操作excel的内容_第10张图片

你可能感兴趣的:(openpyxl,python,excel)