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