栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python处理Excel第三方库的常用方法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python处理Excel第三方库的常用方法

Python处理Excel

Python处理Excel经常会用到第三方库有xlrd、xlwt、openpyxl;下面介绍这三个第三方库常用的方法。

xlrd/xlwt与openpyxl的区别和效率

区别:python中xlrd/xlwt与openpyxl处理Excel的主要区别在于写入操作,其中xlwt针对Ecxec2007之前的版本,(.xls文件),其要求单个sheet不超过65535行,而openpyxl则主要针对Excel2007之后的版本(.xlsx文件),它对文件大小没有限制。

效率:整体而言,两种包对小文件的读写速度差别不大,而面对较大文件,xlrd/xlwt速度明显优于openpyxl,但因为xlwt无法生成xlsx是个硬伤,所以想要尽量提高效率又不影响结果时,可以考虑用xlrd读取,用openpyxl写入。

xlrd模块
# 导入模块
import xlrd
# 打开Excel文件
workbook = xlrd.open_workbook("filename")  

# sheet相关操作
workbook.sheet_names()                     获取所有sheet的名字,返回列表
workbook.sheet_by_index()                  根据索引获取sheet对象
workbook.sheets()                          获取所以sheet对象,返回列表
sheet = workbook.sheet_by_name()           根据名字获取sheet对象
sheet.name                                 获取sheet对象的名字
sheet.nrows                                获取sheet对象的行数
sheet.ncols                                获取sheet对象的列数

# cell相关操作
sheet.cell(row,col)                        获取指定行和列的cell对象
sheet.row_slice(row,start_col,end_col)     获取指定行的某几列的cell对象
sheet.col_slice(col,start_row,end_row)     获取指定列的某几行的cell对象
sheet.cell_value(row, col)                 获取指定行和列的值
sheet.row_values(row,start_col,end_col)    获取指定行的某几列的值
sheet.col_values(col,start_row,end_row)    获取指定列的某几行的值
sheet.put_cell(row,col,ctype,value,xf_index)
										   在原有表的基础上增减新的内容,xf_index参数是去控制样式,写None即可
cell.ctype                                 cell的数据类型

# cell的数据类型
xlrd.XL_CELL_TEXT                          文本类型
xlrd.XL_CELL_NUMBER                        数值类型
xlrd.XL_CELL_DATE                          日期时间类型
xlrd.XL_CELL_BOOLEAN                       布尔类型
xlrd.XL_CELL_EMPTY                         空白数据类型
xlwt模块
# 导入模块
import xlwt

# 创建workbook对象
workbook = xlwt.Workbook()

#创建一个sheet
sheet = workbook.add_sheet("sheetname")

#写入单元格中,参数1:某行,参数2:某列,参数3:写入的值
sheet.write(row, col, value)

#保存表格
workbook.save('new_filename.xlsx')
openpyxl模块
# 导入模块
from openpyxl import load_workbook

# 打开Excel文件
workbook = load_workbook('filename.xlsx')

# 找到相应的表单
sheet = workbook['sheetname']

# 修改单元格的数据
sheet.cell(row,col).value = new_value

# 总行数
sheet.max_row

# 总列数
sheet.max_colum

# 该表单的所有行的数据的可迭代对象
sheet.rows

# 保存数据
workbook.save('filepath')

# 关闭文件,释放资源
workbook.close
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/918590.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号