python操作excel
2021-01-14 06:11
标签:pip 大小 xlsx offic 默认 ring iterable col 防止 openpyxl是一个Python库,用于读取/写入Excel 2010 xlsx / xlsm / xltx / xltm文件。 它的诞生是因为缺少可从Python本地读取/写入Office Open XML格式的库。 作为openpyxl,对PHPExcel团队的所有赞誉最初都是基于PHPExcel。 安全 默认情况下,openpyxl不能防范二次爆炸或数十亿次的xml笑话攻击。为了防止这些攻击,请安装defusedxml。 必知 在使用openpyxl模块前,需要了解openpyx中名称的概念: 在openpyxl中,主要用到三个概念:Workbook,Sheet,Cell Workbook:指一个工作簿; Sheet:指工作簿中的一张表; openpyxl在读或写时顺序为:打开Workbook,定位Sheet,操作Cell 创建一个工作簿之后,会默认生成一个工作表 (Sheet) 。您可以使用 通过 Workbook.create_sheet( ) 方法创建新的工作表 Workbook.create_sheet( ) 的参数依次是 append( )方法的参数是一个可迭代对象, 可以批量添加, 而且自带默认换行. wb.active 始终获取当前工作簿的第一张表 通过表名的key 通过表名获取 循环表中的每一行 可以设置范围 range_string= ‘A1:B1‘ 矩阵范围 min_row=1,min_col=1 最小行从第1行,最小列从第1列 开始默认到数据最大行最大列 max_row=3,max_col=3 最大行只到第3行 ,最大列只到第3列 默认从第一行第一列开始 values_only=True 只读 python操作excel 标签:pip 大小 xlsx offic 默认 ring iterable col 防止 原文地址:https://www.cnblogs.com/xcymn/p/12942869.htmlpython操作Excel
openpyxl模块
0.介绍
Cell:指表中的一个单元格。1. 安装
pip3 install openpyxl
2. 创建工作簿
from openpyxl import Workbook
wb = Workbook()
Workbook.active
属性来获取它ws = wb.active
默认情况下设置为0。除非您修改其值,否则始终将使用此方法获得第一个工作表。
3. 创建工作表
title
=表名
,索引=index,默认索引追加在默认的Sheet表后面# 创建两张表
sheet1 = wb.create_sheet(‘表1‘)
sheet2 = wb.create_sheet(‘表2‘)
# 表的顺序(Sheet,表1,表2)
4. 保存工作簿
# 保存工作簿,filename=‘文件的地址‘
# 如果文件名相同的话,后面的文件会覆盖原来文件的内容
wb.save(‘demo.xlsx‘)
5. 数据的三种写入方式
5.1 通过定位单元格写入
# 语法: 表[‘单元格名称‘] = ‘值‘
sheet1[‘A1‘] = ‘我是A1‘ # 不区分大小写
5.2 通过行列定位
# 通过row(行),column(列),定位指定单元格 添加数据
# 第二行第一列的单元格
sheet1.cell(row=2, column=1).value = ‘你好‘
5.3 通过append方法
# append(iterable)追加,默认从当前表格的末尾追加,自动换行
sheet1.append([‘我是A1‘, ‘我是B1‘, ‘我是C1‘])
sheet1.append([‘我是A2‘, ‘我是B2‘, ‘我是C2‘])
# 一次追加多行
data_list = [
[‘1‘,‘2‘,‘3‘],
[‘4‘,‘5‘,‘6‘],
[‘7‘,‘8‘,‘9‘],
]
for item in data_list:
sheet1.append(item)
6. 读取本地工作簿
6.1 获取本地工作簿对象
wb = openpyxl.load_workbook(r‘D:\demo1.xlsx‘)
6.2 获取工作簿下的所有表名
# 返回一个列表,每个元素都是表名
names = wb.sheetnames
# 通过for循环查询
for sheet in wb:
print(sheet.title) # 表.title = ‘表名‘
6.3 获取工作簿的表
ws = wb[‘表1‘]
ws = wb.get_sheet_by_name(‘表1‘)
6.4 循环获取由表格的值组成的矩阵
for row in ws.values:
print(row) # row是每行的数据组成的元组
6.5 可设置范围的读取
for row in ws.iter_rows(min_row=2, min_col=2):
for cell in row:
print(cell.value) # cell.value = ‘单元格的值‘
关于三个对象的常用属性
wb.sheetnames
返回工作簿下的所有表名
wb.active
返回第一张表
ws.title
表名
cell.value
单元格的值
上一篇:Python数据结构