创建excel和操作excel表格

首先我们先安装第三方库openpyxl,安装方法:pip install openpyxl

创建一个Excel表格有两种方法:手动,代码创建。而我们讲的是如何代码创建:
 创建Excel文件的模块: workbook
 读写Excel文件的模块:load_workbook
 注:python只支持.xlsx格式的Excel文件操作
代码:

from openpyxl import workbook

wb=workbook.Workbook() #创建一个对象
wb.create_sheet('lbb') #创建表单的方法,创建一个名为lbb表单
wb.save('py15_double.xlsx')#另存为 保存工作簿

创建成功:
  在这里插入图片描述
这时候就创建成功了,那我不想新建在sheet后面呢?我想新建在第一个呢?很简单:
 添加一个index=0,那么你新建的表单就会创建第一个

from openpyxl import workbook

wb=workbook.Workbook()
wb.create_sheet('lbb',index=0) #创建表单的方法,创建一个名为lbb表单
wb.save('py15_double.xlsx')#另存为 保存工作簿

成功:
在这里插入图片描述
读写操作

from openpyxl import load_workbook

#第一步 打开工作簿
wb=load_workbook('py15.xlsx') #打开工作薄

#第二步 定位到表单
#定位有两个方法
# sheet=wb.get_sheet_by_name('Sheet') #这是第一个方法,但是过时了
sheet=wb['Sheet'] #这是第二个,简单方便 推荐使用

#第三步:定位单元格 获取内容 根据行列坐标来定位单元格再获取值
#行列坐标都必须是数字 对应关系: A-1 B-2 C-3 D-4 E-5
#比如A3,在python里面就是(3,A) 那么A就是1 最后就是(3,1)
res=sheet.cell(2,2).value
print('res的值:{},res的类型:{}'.format(res,type(res)))

#注:python从Excel表格里读取的数据:数字类型还是数字类型 其他数据类型全是字符串类型
#那么怎么转换成相对应的格式呢?用eval()
#eval() 可以把数据转成Python原本可以识别的数据类
res_1=eval(sheet.cell(2,2).value)
print('res_1的值:{},res的类型:{}'.format(res_1,type(res_1)))

#两种方式写入值:修改和新增 都是如下2个方法
sheet.cell(3,1).value='白日依山尽'#赋值运算1
sheet.cell(3,2,'小新')#写入值2

#保存&另存为 如果是保存到当前的Excel的话 记得要关闭Excel 不然会报错 permission denied
wb.save('py15.xlsx')

#操作完毕之后,一定要关闭文件
wb.close()

那我们excel有很多行和列呢?
openpyxl 里有两个方法:
 .max_row #获取最大行,返回的格式是数字形式
 .max_column #获取最大列,返回的的格式是数字形式

from openpyxl import load_workbook

wb=load_workbook('py15.xlsx')

sheet=wb['Sheet']

for i in range(1,sheet.max_row+1):#为啥要+1,因为不加1读取不到最后一行
  for j in range(1,sheet.max_column+1):#为啥要+1,因为不加1读取不到最后一列

     if sheet.cell(i,j).value:#防止单元格为空的情况下
        print(sheet.cell(i,j).value)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值