快捷搜索: 王者荣耀 脱发

Python对Excel的存储、读取和操作

Workbook对象-实现工作簿的读取

1、对于一个已经存在的Excel文档,可以使用openpyxl模块的load_workbook函数进行读取

import openpyxl
wb1 = openpyxl.load_workbook(tst.xlsx)
#获取该工作簿中的工作表名称,用列表存储
print("现有工作簿的工作表名称:",wb1.sheetnames,type(wb1.sheetnames))

2、 在工作簿中创建工作表

import openpyxl
wb1 = openpyxl.load_workbook(tst.xlsx)
#获取该工作簿中的工作表名称,用列表存储
print("现有工作簿的工作表名称:",wb1.sheetnames,type(wb1.sheetnames))

wb2=openpyxl.Workbook()# 新建一个Excel工作簿
wb2.create_sheet("newSheet1")# 新建一个工作表,默认最后
wb2.create_sheet("newSheet2",0)# 在前面创建一个工作表
wb2.save(test_new.xlsx)# 新工作簿的名称
print("新建工作簿的工作表名称:",wb2.sheetnames,type(wb2.sheetnames))

3、工作表的相关属性

st = wb1["成绩表"]# 通过工作表名获取Worksheet表单对象
#工作表的查询
print(st)
print("标题:",st.title)
print("维度:",st.dimensions)
print("最大行:",st.max_row)
print("最大列:",st.max_column)

4、读取某格的数据

c4_1 = st.cell(row=4,column=3)#行列号获取单元格
c4_2 = st[c4]#单元格名称获取
print(c4_1.value,c4_2.value)#.value取值

5、读取某区域的数据

#读取区域的数据
c_range=st[A3:C7]
for row in c_range:
    for cell in row:
        print(cell.value,end=,)
    print()
#读取A-B列
c_range=st[A:B]
for row in c_range:
    for cell in row:
        print(cell.value,end=,)
    print()
#读取3-4行
c_range=st[3:4]
for row in c_range:
    for cell in row:
        print(cell.value,end=,)
    print()

5、读取某行/某列数据

#读取A列
for cell in st[A]:
    print(cell.value)
#读取第3行
for cell in st[3]:
    print(cell.value)

6、对指定单元格写数据

#对指定单元格写数据
st[c6]=100#通过地址写
st.cell(row=7,column=3).value=99 #通过行列号写
wb1.save(test.xlsx)#新工作簿的名称
经验分享 程序员 微信小程序 职场和发展