python 操作excel的两个模块 xlrd和xlwt--转载自谷雨yun
2019-06-18 11:48
281 查看
xlrd模块
Python的三方库xlrd用于对excel文件进行读取,可以是“.xls”或“.xlsx”格式(旧版本可能不支持“.xlsx”)。
下载安装:https://pypi.org/project/xlrd/#files,或者使用pip安装 “pip install xlrd”
API文档:https://xlrd.readthedocs.io/en/latest/api.html
xlrd常用的方法:
work_book = xlrd.open_workbook(filename):打开指定路径的excel文件,返回excel处理对象,但无法打开不存在的文件。 work_book.nsheets:返回excel中的sheet个数。 work_book.sheets():加载并返回excel中的所有sheet对象组成的列表。 work_book.sheet_by_index(sheetx):返回对应索引的sheet对象,索引范围为range(work_book.nsheets)。 work_book.sheet_by_name(sheet_name):返回对应sheet名称的sheet对象。 work_book.sheet_names():返回excel中所有sheet名称组成的列表。 sheet.book:sheet所属的work_book。 sheet.name:sheet的名称。 sheet.nrows:sheet中的行数。 sheet.ncols:sheet中的列数。 sheet.row(rowx):返回对应行的cell对象组成的列表。 sheet.row_slice(rowx, start_colx=0, end_colx=None):返回对应行的cell对象组成的列表,也自定义切片获取行的cell对象列表。 sheet.col(colx):返回对应列的cell对象组成的列表。 sheet.col_slice(colx, start_rowx=0, end_rowx=None):返回对应列的cell对象组成的列表,也自定义切片获取行的cell对象列表。 sheet.cell(rowx, colx):返回对应单元格的cell对象。 sheet.cell_value(rowx, colx):返回对应单元格的值。 sheet.row_len(rowx):返回对应行的有效单元格数。 sheet.get_rows():返回一个行的迭代器,每次迭代返回一个cell对象组成的列表,即这一行的cell对象列表。 sheet.row_values(rowx, start_colx=0, end_colx=None):返回对应行的值的列表,也可以自定义切片获取某些值。 sheet.col_values(colx, start_rowx=0, end_rowx=None):返回对应列的值的列表,也可以自定义切片获取某些值。 sheet.cell(rowx, colx).value:返回对应单元格的值。
注:
无论传入的参数,还是获取出来的数据,都是Unicode格式的。 xlrd的索引都是从0开始的。 xlrd中还有很多其他方法和属性,可以自行查阅API文档。
xlwt模块
Python的三方库xlwt用于新建一个excel文件,可以是“.xls”或“.xlsx”格式(旧版本可能不支持“.xlsx”)。
下载安装:https://pypi.org/project/xlwt/#files 或者使用pip安装“pip install xlwt”
xlwt常用的方法:
work_book = xlwt.Workbook(encoding='ascii'):新建一个excel对象(必须使用save方法才能生成最后的excel文件),可以设置编码格式,默认是ASCII,这时候代码中操作excel最好都使用Unicode字符串,特别是有中文的情况下,必须使用Unicode,不然会编码报错;也可以UTF-8(或其他,我没试过),这时候除了最后执行save方法保存时文件路径必须使用Unicode字符串外,其他的操作都可以是普通字符串。 work_book.save(filename):将excel对象保存为excel文件,filename可以是相对路径,也可以是绝对路径,但是路径中的目录(文件夹)是必须存在的,而且不能存在同名文件,不然会报错,如果路径中包含中文,注意使用Unicode字符串。 work_book.add_sheet(sheetname, cell_overwrite_ok=False):在work_book中添加一个指定名称的sheet页,当参数cell_overwrite_ok设为True时,sheet中的单元格即便被多次重写也不会报错。 sheet.write(r, c, label='', style=Style.default_style):在单元格“(r, c)”中写入值“label”,可以指定单元格的格式style。 sheet.merge(r1, r2, c1, c2, style=Style.default_style):合并单元格。 sheet.write_merge(r1, r2, c1, c2, label="", style=Style.default_style):合并单元格,并写入值。 sheet.row(indx):获取行对象,可以通过行对象的值来获取和设置行属性,比如设置行高:sheet.row(0).height=40。 sheet.col(indx):获取列对象,可以通过列对象的值来获取和设置列属性,比如设置列宽:sheet.col0).width=40 sheet.row_height(row):获取行高。 sheet.col_width(col):获取列宽。 xlwt.Formula(s):s为excel中的公式字符串,可以将这个Formula对象作为write等方法的值传入进去。比如: xlwt.Formula('HYPERLINK("#%s!%s%s";"%s")' % (sheet_name, col, row, value)):设置Excel内的超链接,这部分整体作为value传入write等写入方法中,其中的第一个双引号为Excel中的公式表示,不能用单引号或三引号;value为写入单元格的值,sheet_name为链接的目的地址,col(1,2,3...)和row(A,B,C...)表示连接到sheet_name的单元格位置。 xlwt.Formula('HYPERLINK("https://www.baidu.com";"百度")'):设置Excel外的链接。 xlwt.Formula('A1*B1'):设置某个单元格的值为“A1*B1”的值。 xlwt.Formula('SUM(A1, B1)'):设置某个单元格的值为“SUM(A1, B1)”的值。
相关文章推荐
- python使用xlwt和xlrd模块操作excel
- python操作excel之xlrd、xlwt模块详解
- python+xlrd+xlwt操作excel
- Python 对excel数据操作之xlwt模块
- Python 使用 xlrd/xlwt 操作 Excel
- Python使用xlrd模块操作Excel数据导入的方法
- python - 通过加载第三方库xlrd/xlwt/xlsxwriter,来读写excel文件,不涉及图形操作
- python excel 的相关操作(使用 xlrd xlwt 读写)
- [Python笔记] 使用xlrd和xlwt进行简单的excel表格读写操作
- Python使用xlrd模块操作Excel数据导入的方法
- python使用xlwt模块操作Excel
- python中使用xlrd、xlwt操作excel
- python中使用xlrd、xlwt和xlutils3操作Excel
- python读写Excel文件--使用xlrd模块读取,xlwt模块写入
- 使用python读写操作同一个excel(xlrd,xlwt,xlutils)
- Python 使用 Xlrd/xlwt 操作 Excel
- python-excel的模块xlrd和xlwt用法及注意事项整理
- Python xlrd/xlwt对excel进行操作
- python 6-5 如何读写excel文件 使用第三方库xlrd 和 xlwt,这两个库分别用于excel读和写