Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!
2021-03-18 21:28
标签:max copy mes install pip 需要 new t loading The openpyxl 是一个直接可用于读写 xlsx 、xlsm、xltx、xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动化批量操作 先说一下安装部分,如果小伙伴们用 Anaconda 作为 Python 环境的话,openpyxl 无需安装可直接使用;需要安装的话方法也非常简单 pip 工具一行命令即可 在对 Excel 表格处理之前,需要了解一下 xlsx 文件的几个名词解释及构造 1,Workbook 指的是神什么? Workbook 名叫工作薄,可以代指一个 xlsx 文件; 2, sheet、cell、row 、col 分别指的是什么? 关于问题2 ,可参考下图(见注释) 一个 Workbook 默认至少含有一个 worksheet ,通过命令 可通过 一行代码即可 通过修改 关于不清楚 sheet tab 背景颜色不清楚是什么的小伙伴,可参考下图; 通过 可通过 需要注意的是,当 workbook 为只读或 只写模式时不可复制;另外只有 cells(值,样式,超链接、注释) 和 特定的 worksheet 属性(维度、格式、属性)可以复制,其他的一些 workbook / worksheet 属性不可复制( Images Charts 等) 成功创建完 Workbook、Worksheet 之后,接下来就可以修改 cell(单元格中的内容,Cells 可以通过 worksheet 中特有关键词来获取 通过赋值命令对其修改 openpyxl 中有一个函数 例如 8.1 , openpyxl 也可以进行切片操作,来获取多个单元格 8.2, worksheet 中多行多列数据获取方式相似 8.3, 8.4, 需要注意的时在 9.1,只查看 worksheet 中的 value 时,可通过 9.2,通过 10,excel 文件加载 10.2,excel 文件存储 Workbook 修改成功后,后创建完成之后,通过 好了,以上就是本篇文章的所有内容了,最后感谢大家的阅读! Python 自动化办公之 Excel 模块 — openpyxl 的基本使用! 标签:max copy mes install pip 需要 new t loading The 原文地址:https://www.cnblogs.com/zeroing0/p/13766084.htmlopenpyxl 介绍
pip install openpyxl
xlsx 文件属性
openpyxl 基本命令操作
1, 创建 一个空的 workbook
from openpypl import Wrokbook
from openpyxl.utils import get_column_letter
wb = Workbook()
ws1 = wb.active
Workbook.active
来获取当前第一个 sheet(也就是第一个 sheet);2,创建新的 worksheet
ws1 = wb.create_sheet("Mysheet") # insert at the end (default)
ws2 = wb.create_sheet("Mysheet", 0) # insert at first position
# or
ws3 = wb.create_sheet("Mysheet", -1) # insert at the penultimate position
create_sheet()
命令创建新的 worksheet , create_sheet 默认有两个参数 name、index;
3,更改 sheet 的名字
ws.title = ‘New Title‘
4,更改 sheet 上 tab 背景颜色
ws.sheet_properties.tabColor = "1072BA"
Wroksheet.sheet_properties.tabColor
参数即可,需要注意的是这里只接收 RRGGBB
颜色代码;5, 返回 Workbook 中所有 sheet 的名字
Workbook.sheetname
命令即可查看>>> print(wb.sheetnames)
[‘Sheet2‘, ‘New Title‘, ‘Sheet1‘]
# 或者用迭代方法
>>> for sheet in wb:
... print(sheet.title)
6,将现有的 worksheets 复制新创建的 workbook 中
Workbook.copy_worksheet()
函数方法# 将 source 中的worksheet复制到 target 中去
source = wb.active
target = wb.copy_worksheet(source)
7,获取某个 cell 的数据
>>> c = ws[‘A4‘] # 获取第4行列名为A 单元格中的值
ws[‘A4‘] = 4
Worksheet.cell()
可修改单元格中的数据,可定位到具体行、具体列进行更改,d = ws.cell(row = 4,columns = 2,value = 10)
>>> for x in range(1,101):
... for y in range(1,101):
... ws.cell(row=x, column=y)
8,获取多个单元格
>>> cell_range = ws[‘A1‘:‘C2‘]
>>> colC = ws[‘C‘]
>>> col_range = ws[‘C:D‘]
>>> row10 = ws[10]
>>> row_range = ws[5:10]
Worksheet.iter_row()
来获取 sheet 中行列范围,再利用循环迭代获取每一个单元格数据>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
... for cell in row:
... print(cell)
Worksheet.iter_cols()
也可以实现同样功能>>> for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
... for cell in col:
... print(cell)
read-only
模式中,Worksheet,iter_cols()
方法不能使用9,只查看 cell 中的 value
Worksheet.values
属性,该属性将迭代 worksheet 中所有行,但返回的仅仅是 cell valuesfor row in ws.values:
for value in row:
print(value)
Worksheet.iter_rows()
和 Worksheet.iter_cols()
也可以实现,在函数中加入一个参数 values_only = True
即可返回 cell 的值>>> for row in ws.iter_rows(min_row=1, max_col=3, max_row=2, values_only=True):
... print(row)
(None, None, None)
(None, None, None)
10,读写文件操作
openpyxl.load_workbook()
函数来打开一个指定本地存储的 xlsx 文件>>> from openpyxl import load_workbook
>>> wb2 = load_workbook(‘test.xlsx‘)
>>> print wb2.sheetnames
[‘Sheet2‘, ‘New Title‘, ‘Sheet1‘]
Workbook.save(path)
命令即可保存至本地磁盘>>> wb = Workbook()
>>> wb.save(‘balances.xlsx‘)
文章标题:Python 自动化办公之 Excel 模块 — openpyxl 的基本使用!
文章链接:http://soscw.com/index.php/essay/65955.html