使用openpyxl操作Excel
admin
2023-07-10 05:42:58
0

1.Workbook对象

Workbook相当于是一个文件,WorkSheet就是文件里面的每个具体的表,比如新建Excel文件里面的'Sheet1'这个,一个Workbook里面有一个或多个WorkSheet.

1.1 获取Workbook对象

两种方式

(1)新建对象:

from openpyxl import Workbook
wb = Workbook()
wb.save('C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx')

(2)导入已存在的对象:

from openpyxl import load_workbook
file_path = 'C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx'
wb = load_workbook(file_path)

1.2 Workbook属性

print(wb.worksheets)   返回所有WorkSheet的列表,类型为list
print(wb.active)            返回当前默认选中的WorkSheet
print(wb.sheetnames)  返回所有WorkSheet的列表,类型为list

使用openpyxl操作Excel

1.3 Workbook方法
get_sheet_names():  同sheetnames

get_active_sheet():   同active属性

get_sheet_by_name(name):  根据名称获取WorkSheet

remove(worksheet):   删除一个WorkSheet,注意是WorkSheet对象,不是名字

save(filename):   保存到文件,记住有写入操作记得保存!!!

使用openpyxl操作Excel使用openpyxl操作Excel

2  worksheet对象

2.1 获取worksheet对象

ws1 = wb.active   # 获取默认打开的(active)的WorkSheet

ws2 = wb.create_sheet()  # 创建一个WorkSheet,可传title和index两个参数,不传生成的WorkSheet名在'Sheet'后面递增加数字。

ws3=wb['Sheet1']  # 通过名称获取WorkSheet

2.2 worksheet属性

rows: 返回所有有效数据行,有数据时类型为generator,无数据时为tuple

columns:返回所有有效数据列,类型同rows

max_column:有效数据最大列

max_row:有效数据最大行

min_column:有效数据最小列,起始为1

min_row:有效数据最大行,起始为1

values:返回所有单元格的值的列表,类型为tuple

title:WorkSheet的名称

2.3 worksheet方法

cell(coordinate=None, row=None, column=None, value=None)

获取指定单元格或设置单元格的值,具体使用在cell下面介绍

3 操作cell

3.1 获取cell对象

(1)使用WorkSheet的Cell方法

c1=ws.cell(1,1)

c2=ws.cell(row=1,column=1) #获取A1单元格

使用openpyxl操作Excel 2通过坐标获取Cell

c3=ws['A1']# 获取多个

c3=ws['A1:A3']  #返回多行数据,类型为tuple

注意此处获取的不是单元格的值。

使用openpyxl操作Excel 3.2 设置Cell的值

(1)直接使用WorkSheet的cell方法设置

ws.cell(row=1,column=1,value=10)

(2)设置Cell对象value属性

c1=ws.cell('A1')

c1.value=100

3.3 Cell属性

column:所在列,起始为1

row:所在行,起始为1

coordinate: 所在坐标,如'A1'

parent: 所属的WorkSheet

value: 单元格的值

3.4 Cell方法

offset(row=0, column=0): 偏移

# -*- coding:utf-8 -*-
import os
from openpyxl import Workbook
from openpyxl import load_workbook
file_path = 'C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx'
if os.path.exists(file_path):
   print("excel file exist")
else:
   wb = Workbook()
   wb.create_sheet('Sheet1')#新建sheet页
   wb.save(file_path)
   
"""
a = wb.worksheets
b = wb.active
c = wb.sheetnames
d = wb.get_active_sheet
e = wb.get_sheet_names
f = wb.get_sheet_by_name
"""
wb = load_workbook(file_path)  #加载workbook对象
ws = wb.active
ws.cell(row=1, column=1, value=10) #写入单元格
ws.cell(row=2, column=1, value=10)
ws.cell(row=3, column=1, value=10)
wb.save(file_path)  #保存文件
a1 = ws.cell(1, 1)
    
print(a1.column, a1.row, a1.value, a1.parent)
a2 = ws.cell(row=1, column=1)
print(a2.column, a2.row, a2.value, a2.parent)
a3 = ws['A1:A3']
print(a3)


 


相关内容

热门资讯

美伊谈判濒临破裂之际,伊朗议长... 因为以色列持续对黎巴嫩进行军事打击,伊朗宣布暂停同美国的谈判。不过美国总统特朗普称,对话仍在继续。谈...
罕见!以军政策发生“重大转变” 新华社北京6月1日电 题:罕见纵深推进,以军对黎行动会否搅动美伊谈判新华社记者刘品然 阚静文 席玥以...
山西太原发现一处新石器遗址,出... 山西省太原市文物保护研究院协同相关科研机构,近期在太原市阳曲县西盘威村发现一处新石器时代重要遗址——...
伊媒发布穆杰塔巴罕见照片 伊朗塔斯尼姆通讯社6月1日发布了一张最高领袖穆杰塔巴的照片。照片中,穆杰塔巴面露笑容,抱着一个婴儿。...
福建“泡药杨梅”曝光后,浙江杨... 这两天,浙江本地杨梅少量进入市场。虽然受到此前福建 “泡药杨梅” 事件影响,市场整体销量相比去年同期...
尺素金声 | 前4月规上工业企... 5月27日,国家统计局发布最新数据显示,今年前4月,全国规上工业企业实现利润同比增长18.2%,增速...
郑丽文:台湾民众越来越了解“台... 针对台湾《联合报》民调显示,63%受访者民意希望维持现状,即将访美的中国国民党主席郑丽文1日表示,民...
美前副总统:共和党失去了方向,... 2026年是美国的中期选举年,共和党选情不利,可能在年底的选举中遭遇挫败。美国前副总统彭斯5月31日...
南枝原来去过中国?《给阿嬷的情... 《给阿嬷的情书》票房口碑双丰收,目前票房已突破13亿。凤凰卫视最新一期《问答神州》专访了该片导演蓝鸿...
法国海军扣押一艘俄“影子舰队”... 近日,法国海军在大西洋海域扣押了一艘据称从俄罗斯摩尔曼斯克出发的油轮,引发俄方强烈不满。俄新社6月1...