Python打开Excel并读取,关闭Excel后提示(xlrd 有坑须注意)

关键词:Python、Open Excel、Close Excel

做为一名软件工程师,经常需要从各种各样的表中读取所需要的数据,最常用的数据来源就是Excel电子表格,有时修改读写Excel会出现莫名的错误。

需求:
    从网页上下载不同时间段的excel文件并读取后并删除Excel文件,重复执行:下载->读取->删除

问题:
    正常下载文件后能正常读取,读完数据后执行了关闭excel操作,但删除时提示“Python正在使用此文件”。

解决:
xlrd 库是有两个版本,一个仅支持.xls, 另一个仅支持 .xlsx

# 打开.xlsx Excel文件
filePathName =r"d:\demo.xlsx"
Excelbook= xlrdm.open_workbook(filePathName)
sheet = Excelbook.sheet_by_index(0) #  0表示每1个sheet
# sheet = Excelbook.sheet_by_name("sheet1") #  0表示每1个sheet

备注:获取sheet的方法。
1、通过sheets()方法获取,名称为sheet1的表获取方式是:sheets()[0]。
2、通过sheet名称获取,名称为sheet1的表获取方式是:sheet_by_name(‘sheet1’)。
3、通过sheet索引获取,名称为sheet1的表获取方式是:sheet_by_index(0)。

 

 

常用的读取excel表格的方法:
nrows:获取行数;
ncols:获取总列数;
row_values(行数):获取一行的值;
col_values(列数):获取一列的值;
cell_value(行数,列数):获取单元格的值;
cell(行数, 列数).value:获取单元格的值。
 


import xlrd3               # 支持 主要支持 .xls ,不能正常关闭Excel
Excelbook.release_resources()  # 关闭Excel时,无效

import xlrd                # 支持 .xlsx ,可以正常关闭Excel
Excelbook.release_resources()  # 关闭Excel  ,有效

# 使用时需要注意,Execl版本的区别
import xlrd   # 支持 .xlsx ,可以正常关闭Excel

# 打开.xlsx Excel文件
filePathName =r"d:\demo.xlsx"
Excelbook= xlrdm.open_workbook(filePathName)
sheet = Excelbook.sheet_by_index(0) #  0表示每1个sheet
# sheet = Excelbook.sheet_by_name("sheet1") #  0表示每1个sheet

# 获取工作簿所有sheet表对象名称
# sheets_name = chart.sheet_names()
# print(sheets_name)

for i in range(0,sheet.nrows): # 按列读取  range(1, sheet.ncols) # 按行读取
    record = sheet.row_values(i)  # 读取行
    统计项 =record[0]
    占比 =record[1]
    tgi =record[2]

    print(f{统计项} {占比} {tgi})

Excelbook.release_resources()  # 关闭Excel



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值