
- 1、简介
- 2、 xlrd *** 作
- 2.1、 打开Excel文件
- 2.2、 sheet
- 2.3、 行
- 2.4、 列
- 2.5、 cell
- 3、 xlwt *** 作
- 3.1、 创建Excel文件
- 3.2、 sheet
- 3.3、 cell
- 3.4、 保存Excel文件
- 4、 xlutils *** 作
- 5、 其他
xlrd 是python中用于读取 xls 和 xlsx 格式Excel文件的库(较新的版本将不再支持xlsx格式的读取)。
xlwt 是python中用于将数据写入 xls 格式Excel文件的库。
以上二者均无法直接修改excel文件,xlutils库可提供辅助和衔接,使用户可以同时读写一个 .xls 文件。
xlrd和xlwt主要支持早期的Excel版本,但优点是 *** 作更自然,模拟人们对Excel表格的手动 *** 作,且适用性强,可以实现多层表头的结构(而不像pandas把第一行视为表头,剩下的行都视为数据)。
python其他常用Excel读写库:
openpyxl:实现对xlsx格式Excel文件的读写和修改 *** 作。
pandas:数据处理最常用的分析库之一,可以读写xls和xlsx格式的Excel文件,一般输出dataframe格式,功能强大。
使用open_workbook()读取指定的一个工作簿对象。
import xlrd
# filepath为文件路径名
book = xlrd.open_workbook(filepath)
2.2、 sheet
workbook中的工作表(sheet) *** 作
sheetCount = book.nsheets #返回工作簿中sheet的数量
sheets = book.sheets() #返回所有sheet对象
names = book.sheet_names() #返回所有sheet的名称
sheet = data.sheet_by_index(sheet_index)) #通过索引顺序获取一个sheet
sheet = data.sheet_by_name(sheet_name) #通过名称获取一个sheet
2.3、 行
sheet中的行 *** 作
rowCount = sheet.nrows #获取该sheet中的有效行数
sheet.row(rowx, start_colx=0, end_colx=None) #返回由该行中所有的单元格对象组成的列表
sheet.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表
sheet.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表
sheet.row_len(rowx) #返回该列的有效单元格长度
2.4、 列
sheet中的列 *** 作
colCount = sheet.ncols #获取列表的有效列数
sheet.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
sheet.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表
sheet.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表
2.5、 cell
sheet中的单元格(cell) *** 作
sheet.cell(rowx,colx) #返回单元格对象
sheet.cell(rowx,colx).value #返回单元格中的数据类型
sheet.cell(rowx,colx).ctype #返回单元格中的数据
sheet.cell_type(rowx,colx) #返回单元格中的数据类型
sheet.cell_value(rowx,colx) #返回单元格中的数据
3、 xlwt *** 作 3.1、 创建Excel文件
使用Workbook()创建一个工作簿对象
book = xlwt.Workbook(encoding='utf-8')
3.2、 sheet
新建一个工作表(sheet)对象
#cell_overwrite_ok 是否允许重置单元格,默认为False
sheet1 = book.add_sheet(sheetname , cell_overwrite_ok=True)
3.3、 cell
写入单元格(cell) *** 作
sheet1.write(rowx,colx,value)
3.4、 保存Excel文件
# filepath为文件路径名
book.save(filepath)
4、 xlutils *** 作
xlutils 模块是 xlrd 和 xlwt 之间的桥梁,最核心的作用是拷贝一份通过 xlrd 读取到内存中的 .xls 对象,然后再拷贝对象上通过 xlwt 修改 .xls 表格的内容。 xlutils 可以将 xlrd 的 Book 对象复制转换为 xlwt 的Workbook 对象,具体使用时通常导入的是模块中的 copy 子模块中的 copy 函数。
import xlrd
import xlwt
from xlutils.copy import copy
book=xlrd.open_workbook(filepath)
new_book=copy(book) #将xlrd对象拷贝转化为可写的xlwt对象
#转化后只能使用get_sheet(index)获取sheet
#通过get_sheet(book.sheet_names().index(sheetName))可以将表名转化为索引
sheet = new_workbook.get_sheet(0)
sheet.write(rowx,colx,value)
new_workbook.save(filepath) #保存工作簿
5、 其他
更详细的信息请查看:
- xlrd开源库:
https://github.com/python-excel/xlrd
- xlwt开源库:
https://github.com/python-excel/xlwt
- xlutils开源库:
https://github.com/python-excel/xlutils
- xlrd官方文档:
xlrd — xlrd 2.0.1 documentation
- xlwt官方文档:
xlwt documentation — xlwt 1.3.0 documentation
- xlutils官方文档:
xlutils documentation — xlutils 2.0.0 documentation
- 更多的Excel文件 *** 作的Python开源库:
Python Resources for working with Excel - Working with Excel Files in Python (python-excel.org)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)