openpyxl加载已有excel

本文介绍了如何使用openpyxl库在Python中加载和读取Excel工作簿中的特定表。通过wb['sheetName']以字典形式获取表,使用sheet.values获取所有单元格的数据。注意,一旦迭代过sheet.values,再次读取将为空。可以将数据转换为列表以重复读取,通过sheet['A1'].value获取特定单元格的值,以及利用推导式选取特定列。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

from  openpyxl import load_workbook

wb = load_workbook('heihei.xlsx')

''' 
工作簿的属性与方法:
sheetnames = wb.get_sheet_names()
print(sheetnames)
wb.get_sheet_by_name(sheetnames[0])
print( wb.worksheets ) 
print( wb.sheetnames )

'''

从一个工作簿内读取某张表可以使用 字典读取的形式 wb[‘sheetName’]

sheet = wb[‘Sheet’]

sheet= wb.get_sheet_by_name('Sheet')

sheet.values 表所有单元格数据组成的对象

values = sheet.values
print(values)
# for each in values:
#     print(each)
# print('----------------------')

如果读取迭代对象之后 再次读取,是没有数据。

# for each in values:
#     print(each)

重复读取的形式,转为列表

data = list(values)
print(data)

firstColumn = [each[0] for each in data]
print(firstColumn)

可以用 sheet[‘A1’].value 读取值

print(sheet['a1'].value)

行数

rows = len(data)
c_col = []
for i in range(1,rows+1):
    c_col.append(sheet[f'c{i}'].value)
print(c_col)

用推导式 取出 B 列

b_col = [sheet[f'b{i}'].value for i in range(1,len(list(sheet.values))+1)]

任意字母列

any_col = [sheet[f'D{i}'].value for i in range(1,len(list(sheet.values))+1)]
print(any_col)

任意索引列

anyColumn = [each[1] for each in list(sheet.values)]
print(anyColumn)

也可继续创建新表

english = wb.create_sheet('英语',3)
english.append(['no can no bb'])

wb.save('heihei.xlsx')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值