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

发布于:2023-01-22 ⋅ 阅读:(452) ⋅ 点赞:(0)


关键词: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

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到