概述

xlrd 用于读取文件,xlwt 用于写入文件,xlutils 是两个工具包的桥梁,也就是通过xlrd 读取.xls文件,然后通过xlutils 将文件内容交给xlwt处理并且保存。

xlrd

常用API:

#导入
import xlrd


# 打开文件 必须是存在的文件路径
wb = xlrd.open_workbook('路径')


# 获取文件中所有的sheet对象
objects = wb.sheets()
#获取文件中所有的sheet名称
names = wb.sheet_names()
# 按照索引获得sheet对象
ws = wb.sheet_by_index(索引值)
#按照名称获得sheet对象
ws = wb.sheet_by_name(文件名)
#获得当前sheet对象的名称
name = ws.name
#获得当前excel文件的sheet个数
n = wb.nsheets


#获得当前sheet已使用的行和列
nrows = ws.nrows
ncols = ws.ncols
# 获得当前sheet某一行或者某一列的所有元素 元素格式是:数据类型:数据值
# 数据类型:0.空,1.字符串,2.数字,3.日期,4.布尔,5.error
lst = ws.row(索引值)
lst = ws.col(索引值)
# 是ws.row(索引值)和s.col(索引值)得到允许切片版本
lst = ws.row_slice(索引值, start_colx=0, end_colx=None)
lst = ws.col_slice(索引值, start_rowx=0, end_rowx=None)
# 获得当前sheet某一行或者某一列的所有元素的值
lst = ws.row_values(索引值)
lst = ws.col_values(索引值)
# 获得当前sheet某一行或者某一列的所有元素的数据类型
lst = ws.row_types(索引值,start_colx=0, end_colx=None)
lst = ws.col_types(索引值, start_rowx=0, end_rowx=None)
# 返回当前sheet某一行已使用的长度
i = ws.row_len(索引值)


# 获取当前sheet中某个单元格的元素 元素格式是:数据类型:数据值
# 数据类型:0.空,1.字符串,2.数字,3.日期,4.布尔,5.error
n = ws.cell(行索引, 列索引)


# 获取当前sheet中某个单元格的元素的值
n = ws.cell_value(行索引, 列索引)
n = ws.cell(行索引,列索引).value
n = ws.row(行索引)[列索引].value

# 获取当前sheet中某个单元格的元素的数据类型
n = ws.cell_type(行索引, 列索引)
n = ws.cell(行索引,列索引).ctype
n = ws.row(行索引)[列索引].ctype

xlwt

# 导入
import xlwt

# 新建.xls的文件
nwb = xlwt.Workbook('utf-8')
# 添加工作表
nws = nwb.add_sheet('名称', cell_overwrite_ok=True)
# 在对应单元格上写入内容
nws.write(行索引,列索引,写入内容)
# 保存文件 注意.xls的后缀不能少
nwb.save('文件名.xls')

xlutils

# 导入
from xlutils.copy import copy
# 用xlrd导入待处理的文件
wb = xlrd.open_workbook('文件名')
#使用copy函数处理 此时的 nwb 不仅具有 xlwt 的功能, 还具有 xlrd 的功能
#也就是既可读又可写.
nwb = copy(wb)
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐