openpyxl3.0中文文档(openpyxl处理excel表格)


转自:https://blog.csdn.net/qq_38830593/article/details/102870762

文章目录

 

说明

码云地址:http://yumos.gitee.io/openpyxl3.0
本文档是我在学习openpyxl时期下载下载并按照自己的理解翻译了一部分,文档是完整的;翻译的部分仅仅包括读写,后边的图表等高级的操作暂时没用到,所以没有翻译.

0.简介

Workbook:指一个工作簿,也就是一个单独的XLSX文件:
在这里插入图片描述
Worksheet:指一个sheet页:
在这里插入图片描述
sheetName:sheet页的名称:
在这里插入图片描述
rowcell:行 和 单元格:
在这里插入图片描述

1.安装

# 使用pip安装即可 pip install openpyxl

2.简单使用

推荐读文件的时候使用只读模式,速度会快很多;不建议使用可读写模式操作xlsx文件,慢的很;读和写分开会好一些。

2.1 读取xlsx

思路:
在这里插入图片描述
简单示例:

from openpyxl import load_workbook # fileName 这里是指文件路径 fileName = "工作簿.xlsx" # 以只读模式打开工作簿 wb = load_workbook(filename = fileName,read_only = True) # sheetName 就是 sheet页的名称 sheetName = "Sheet1" # 通过 工作表名 获取 工作表 ws = wb[sheetName] # 按行读取 工作表的内容 for row in ws.rows: for cell in row: print(cell.value) # 获取单元格内容 
    print(cell.column) # 获取单元格的列号(数字值)
    print(cell.row) # 获取单元格的行号号(数字值)

2.2 保存xlsx

思路:
在这里插入图片描述
简单示例:

from openpyxl import Workbook # 创建workbook对象,写入模式 wb = Workbook(write_only=True) # 删除默认创建的一个sheet页 ws = wb['Sheet'] wb.remove(ws) # 给sheet页命名 sheetName = "工作表1" # 1.创建sheet页 ws = create_sheet(sheetName) # 构造 测试数据 row = ["A11","A12","A13"] # 2.向工作表中 按行添加数据 ws.append(row) # filePath 是指保存的 excel 文件路径 filePath = "新工作簿.xlsx" # 3.保存xlsx wb.save(filePath)

3.主要方法介绍

创建工作簿

# 在内存里创建号工作表之后, 表内不包含任何 单元格. 当第一次 访问它们的时候,才会被创建 # 创建在内存中,调用save方法才能保存在本地 wb = Workbook()

创建工作表

# sheet页名称为Mysheet ws = wb.create_sheet("Mysheet") # 在最前端插入 # ws = wb.create_sheet("Mysheet", 0)

设置sheet页名称

ws.title = "表名"

获取工作表对象

# 通过表名获取 ws = wb["表名"] # 获取活动的工作表,这个工作表默认指向索引为0,除非你手动更改为其他的值。 否则你只能 使用该方法来获取第一个工作表(worksheet) # ws = wb.active

打印工作表名称

# ["Sheet1","Sheet2","Sheet3"] # 方法1 print(wb.sheetnames) # 方法2 for sheet in wb: print(sheet.title)

访问一个单元格

# 访问A列4行的单元格,不存在则创建 c = ws['A4'] # 还有Worksheet.cell()方法,赋值(4,1)值为10 d = ws.cell(row=4, column=1, value=10)

访问多个单元格

# A1~C2 2行3列所有的单元格 cell_range = ws['A1':'C2']

遍历行

# 使用 Worksheet.iter_rows() A1,B1,C1,A2,B2,C2 for row in ws.iter_rows(min_row=1, max_col=3, max_row=2): for cell in row: print(cell)

遍历列(只读模式下不可用):

# 使用 Worksheet.iter_cols() A1,A2,B1,B2,C1,C2 for col in ws.iter_cols(min_row=1, max_col=3, max_row=2): for cell in col: print(cell)

获取所有工作行

# 按行为单位 rows = Worksheet.rows # row1,row2,row3,row4,...

获取所有列:

# 按列为单位 cols = Worksheet.columns # col1,col2,col3,col4,...


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM