python 模块xlrd 读取.xls文件

Python操作Excel的模块有很多,并且各有优劣,不同模块支持的操作和文件类型也有不同。下面是各个模块的支持情况:

  1. xlwt:xlwt 写入.xls文件
  2. xlwings:xlwings 读取写入Excel文件
  3. openpyxl:openpyxl 读取写入.xlsx文件
    python 模块xlrd 读取.xls文件_第1张图片
一、安装
pip install xlrd
二、基本使用
import xlrd

workbook = xlrd.open_workbook('excel2.xls') #打开Excel文件,并返回Workbook对象

sheet = workbook['sheet1'] #获取工作表

for row in range(1,sheet.nrows): #获取每行数据
    print(sheet.row_values(row,1))

for col in range(1, sheet.ncols): #获取每列数据
    print(sheet.col_values(col, 1))
import xlrd

with xlrd.open_workbook('excel2.xls') as workbook:
    sheet = workbook['sheet1'] #获取工作表

    for row in range(1,sheet.nrows):
        print(sheet.row_values(row,1))

    for col in range(1, sheet.ncols):
        print(sheet.col_values(col, 1))
三、方法及属性
  1. xlrd.open_workbook(filename, formatting_info=False, on_demand=False, ragged_rows=False) 打开 Excel 文件并返回一个 Workbook 对象
    import xlrd
    '''
    filename:Excel 文件的路径或文件对象。
    formatting_info:是否读取单元格的格式信息,默认为 False。
    on_demand:是否在需要时才加载工作表,默认为 False,即一次性加载所有工作表。
    ragged_rows:是否允许不完整的行,默认为 False。
    '''
    workbook = xlrd.open_workbook('excel2.xls') #打开Excel文件,并返回Workbook对象
    sheet = workbook['sheet1'] #获取工作表
    
  2. xlrd.xldate_as_datetime(xldate, datemode) 将 Excel 中的日期值转换为datetime 对象
    import xlrd
    
    
    workbook = xlrd.open_workbook('excel2.xls')
    
    
    sheet = workbook['sheet1'] #获取工作表
    
    
    date_value = sheet.cell_value(0, 0)
    
    '''
    将日期值转换为 datetime 对象
    xldate:Excel 中的日期值,通常是一个浮点数。
    datemode:日期模式,用于解释 Excel 中的日期值。默认为xlrd.XL_DATEMODE_1900
    workbook.datemode 表示 Excel 文件的日期模式,xlrd.XL_DATEMODE_1900或xlrd.XL_DATEMODE_1904
    xlrd.XL_DATEMODE_1900 表示使用 1900 年日期模式
    xlrd.XL_DATEMODE_1904 表示使用 1904 年日期模式
    '''
    date = xlrd.xldate_as_datetime(date_value, workbook.datemode)
    
    print(date)  # 输出转换后的日期
    
    
  3. workbook.datemode 表示 Excel 文件的日期模式
  4. workbook.nsheets 返回工作簿中的工作表数量
  5. workbook.sheet_names() 方返回工作簿中所有工作表的名称列表
  6. workbook.sheet_by_name(sheet_name) 根据工作表名称获取工作表对象
  7. workbook.sheet_by_index(sheet_index) 根据工作表索引获取工作表对象
  8. workbook.release_resources() 释放资源并使用del语句删除工作簿对象,从而关闭文件
  9. sheet.nrows 返回工作表中的行数
  10. sheet.ncols 属返回工作表中的列数
  11. sheet.row_values(rowx, start_colx=0, end_colx=None) 返回指定行的数据列表
  12. sheet.col_values(colx, start_rowx=0, end_rowx=None) 返回指定列的数据列表
  13. sheet.cell(rowx, colx) 返回指定行列位置的单元格对象
    import xlrd
    
    workbook = xlrd.open_workbook('excel2.xls') #打开Excel文件,并返回Workbook对象
    sheet = workbook['sheet1'] #获取工作表
    '''
    返回单元格的数据类型
    xlrd.XL_CELL_TEXT:文本本类型的单元格
    xlrd.XL_CELL_EMPTY:空单元格
    xlrd.XL_CELL_NUMBER:数字类型的单元格
    xlrd.XL_CELL_DATE:日期类型的单元格
    xlrd.XL_CELL_BOOLEAN:布尔类型的单元格
    xlrd.XL_CELL_ERROR:错误类型的单元格
    xlrd.XL_CELL_BLANK:空白单元格
    '''
    print(sheet.cell(1,1).ctype) 
    print(sheet.cell(1,1).value) #返回单元格的值
    
  14. sheet.cell_value(rowx, colx) 返回指定行列位置的单元格值
  15. sheet.sheet_loaded(sheet_name_or_index) 检查指定的工作表是否已加载
  16. sheet.unload_sheet(sheet_name_or_index) 卸载指定的工作表,释放内存
  17. sheet.cell_type(rowx, colx) 返回指定行列位置的单元格数据类型
  18. sheet.cell_xf_index(rowx, colx) 返回指定行列位置的单元格的样式索引
  19. sheet.row(rowx) 返回指定行的 Row 对象,用于获取行的其他属性和方法
  20. sheet.col(colx) 返回指定列的 Column 对象,用于获取列的其他属性和方法

你可能感兴趣的:(python,开发语言)