xlrd,xlwt和xlutils是用Python处理Excel文档(*.xls)的高效率工具。其中,xlrd只能读取xls,xlwt只能新建xls(不可以修改),xlutils能将xlrd.Book转为xlwt.Workbook,从而得以在现有xls的基础上修改数据,并创建一个新的xls,实现修改。
(以下属性或方法并非全部,需要更多属性请参看文档;建议先参考文末Demo,再深入了解)
nsheets: sheets数 sheet_names: sheet名称列表 sheets: sheet列表 sheet_by_index(sheetx): 按序号提取sheet sheet_by_name(sheet_name): 按名称提取sheet
name: sheet名 nrows: 行数 ncols: 列数 cell(rowx,colx): 第rows行colx列的单元格 cell_type(rowx,colx): 数据类型 cell_value(rows,colx): 数值 col(colx): 第colx列所有单元格组成的列表 col_slice(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格组成的列表 col_types(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格数值类型组成的列表 col_values(colx,start_rowx=0,end_rowx=None): 第colx列指定单元格数值组成的列表 row同样有col的各项操作,此处略去
ctype: 一个int型变量,对应不同的数值类型 value: 单元格的值
encoding: 编码方案 add_sheet(sheet_name): 添加sheet get_sheet(Sheet_name): 选择sheet save(file_name): 保存
write(rows,colx,cell_value,style): 编辑单元格 row(rowx).write(colx,cell_value,style): 编辑行 flush_row_data(): 减少内存压力,flush之前行不可再修改 col(colx),write(rows,cell_value,style): 编辑列
expression syntax: (<element>:(<attribute> <value>,)+;)+ <element> - <attribute> - <value>: (加粗为默认格式,以下所列并非全部) font - bold - True or False - colour - {colour} - italic - True or False - name - name of the font, Arial - underline - True or False
alignment - direction - general, lr, rl - horizontal - general, left, center, right, filled - vertical - bottom, top, center, justified, distributed - shrink_to_fit - True or False
bolders - left - an integer width between 0 and 13 - right - an integer width between 0 and 13 - top - an integer width between 0 and 13 - bottom - an integer width between 0 and 13 - diag - an integer width between 0 and 13 - left_colour - {colour}*, automatic colour - right_colour - {colour}*, automatic colour - ...
pattern - back_color - {colour}*, automatic colour - fore_colour - {colour}*, automatic colour - pattern - none, solid, fine_dots, sparse_dots
{colous}*: black, (dark_)(light_)blue, gold, (dark_)(light_)green, ivory, lavender,
(light_)orange, pink, (dark_)red, rose, violet, white, (dark_)(light_)yellow, ...
copy: 将xlrd.Book转为xlwt.Workbook styles: 读取xlrd.Workbook的每一个单元格的style display: 简单而安全地呈现xlrd读取的数据 filter: 拆分与整合多个xls文件 margins: 查看表格稀疏程度 save: 序列化xlrd.Book,转存为binary xls或stream
1. xlrd.open_workbook(fomatting_info=):当formatting_info=Ture,读取workbook并保留格式
2. xlrd.open_workbook(on_demand=): 当on_demand=True,只有被要求时才将worksheet载入内存,读取大文件时使用
3. xlwt.Worksheet.flush_row_data(): 减少内存占用,被刷新的行不能再访问或修改,建议每1000行刷新一次(若列很多当调整)
4. xlwt.Workbook(encoding=): 选择创建的workbook的编码
1. The xlrd Module
2. The xlwt Module
3. Working with Excel files in Python