xlrd模块
xlrd模块用于从excel中读取信息,例如.xls,.xlsx文件
1.读取到的数据
xlrd模块读取到的数据类型为列表,每一行为一个单独的列表
[[第一行],['第一列','第二列','第三列',...],[第三行]....]
如果有多个sheet,默认读到一个列表中
# 打开xls或xlsx文件,返回Book类文件 workbook = xlrd.open_workbook(filepath) # 返回工作簿中所有sheet的名字,存放在列表中 workbook.sheet_names() # 返回工作簿中所有sheet的索引,存放在列表中 workbook.sheets() # 根据sheet名读取相应sheet,返回该sheet中的内容 workbook.sheet_by_name() # 根据sheet索引读取相应sheet,返回该sheet中的内容 workbook.sheet_by_index() # 检查sheet是否导入成功,成功返回True,不成功返回False workbook.sheet_loaded()
# 释放资源
workbook.release_resources()
# 获取当前sheet中指定列中的内容 sheet.col_values() # 获取当前sheet中指定行中的内容 sheet.row_values() # 获取指定行的内容和类型 sheet.row(0) # 获取指定列的内容和类型 sheet.col(0) # 返回当前sheet名 sheet.name # 获取指定行/列的长度 sheet.row_len() sheet.col_len() # 获取指定位置的内容,传入行和列 sheet.cell(row,col) 类型:'内容' sheet.cell_value(0,0) '内容' # 对列切片 传入列号,起始行,终止行 sheet.col_slice(1,0,2) # 对行切片 传入行号,起始列,终止列 sheet.col_slice(1,0,2)
2.写入的数据
# 指定file以utf-8的格式打开 file = xlwt.Workbook(encoding='utf-8') # 生成工作表并且命名为sheet_name table = file.add_sheet(sheet_name) # 将数据写入文件,i是enumerate()函数返回的序号数 for i, p in enumerate(file_lst): for j, q in enumerate(p): # print i,j,q table.write(i, j, q) # 写入文件,文件名为filename file.save(filename)