python与excel的连接

python 对excel的基本操作
import openpyxl

wb = openpyxl.load_workbook('Book1.xlsx')  #打开Book1文档,实力化出一个wb对象

print(wb.sheetnames)  #获取当前工作簿里的所有表
print(wb.active)  #正在使用的表

sheet = wb['Sheet1']
print(sheet.title)  #获取工作表的名称

print(sheet.cell(row=1,column=2).value)  #获取指定位置的信息

cell = sheet['B1']  #指定单元格,对单元格的相关进行操作
print(cell.row,cell.column,cell.value)

print(sheet.max_row)
print(sheet.max_column)   #获取最大行数和最大列数

##访问所有单元格的信息
print(type(sheet.rows))  #sheet的所有行和所有列都是一个生成器
for row in sheet.rows:
    for info in row:
        print(info.value)

wb.save(filename='Book1.xlsx')  #保存所有修改信息

工作簿中所有的表和所有当前正在工作的表:
这里写图片描述
工作簿指定单元格的信息:
这里写图片描述
工作表最大的行数和列数:
这里写图片描述
工作表所有行的数据类型是一个生成器:这里写图片描述

应用

定义一个函数对原有的表格中的数据按单价进行排序,然后再保存到一个新的excel表

import openpyxl

def readwb(wbname,sheetname=None):  #函数对原有的数据进行排序
    wb = openpyxl.load_workbook(wbname)
    sheet = wb.active  
    if sheetname:  #如果用户传入工作表,对sheet变量修改为用户传入的表
        sheet = wb[sheetname]
    li = [row for row in sheet.rows]  #对用户指定的表的所有行的内容存入列表值中
    return sorted(li[1:],key=lambda x:x[1].value)  #对新建的列表进行排序,并返回


    #return sorted(li,key=lambda x:x[1].value)

def save_to_file(filename,wbname):
    wb = openpyxl.Workbook()  #注意:新建一个excce表的时侯不要向函数里加参数
    sheet = wb.active
    sheet.title = 'Sheet1'
    for i,row in enumerate(readwb(wbname)):  #采用循环的嵌套表中的指定元素进行修改
        for j,info in enumerate(row):
            sheet.cell(row=i+1,column=j+1).value = info.value
    wb.save(filename=filename)  #对新建的excel表进行进行保存

save_to_file('Book6.xlsx','Book2.xlsx')

进行排序前 的表格:
这里写图片描述
进行排序后的表格:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值