Python处理excel文件


用Python处理excel文件,通常会选用xlrd和xlwt这两个库,xlrd是用来读excel,xlwt是写excel的库。
xlrd可以读取.xls或者.xlsx格式的文件数据。
xlwt可以写入.xls文件数据。

xlrd

安装

pip install xlrd

读取excel

通过xlrd.open_workbook获取一个Book实例的类,通过这个类,可以对excel进行相关的读取操作

import xlrd
book = xlrd.open_workbook(filepath)

常见操作

1.查看全部的sheets工作表

book.sheet_names()
返回包含所有sheet名字的列表。

2.读取某个sheet工作表

1.按索引
table = book.sheets()[index]
book.sheets()会返回一个元素是sheet的列表,然后你可以在这个列表中索引出你想要的工作表。
table = book.sheet_by_index(sheet_index))
2.按名称
table = book.sheet_by_name(sheet_name))

3.获取某个工作表的特征

1.工作表的属性

# 获取工作表的行数
nrows = table.nrows
# 获取工作表的列数
ncols = table.ncols

2.读取工作表

# 按行操作
table.row(rowx)  # 返回行对象的值(返回类型为列表,元素格式:类型:值,比如:number:1)
table.row_values(rowx, start_colx=0, end_colx=None)  # 返回行对象值
table.row(rowx)[colx].value  # 返回rowx,colx的值
table.slice(rowx, start_colx=0, end_colx=None)  # 返回rowx指定列的值
# 按索引返回某列数据
table.col(colx)  # 返回列对象的值
table.col_values(colx)  # 返回列对象值
table.col(colx)[rowx].value  # 返回colx,rowx的值
table.slice(colx, start_rowx=0, end_rowx=None)  # 返回colx指定行的值
# 单元格操作
table.cell(rowx, colx)  # 返回单元格对象
table.cell_type(rowx, colx)  # 返回单元格中的数据类型
table.cell_value(rowx, colx)  # 返回单元格中的数据

3.时间格式处理
用xlrd读取xlsx的时候,日期读取的时候会变成一个浮点型的数字,这个时候,如果你想要转成一个常见的时间格式,就需要转化一下。
函数:
xlrd.xldate.xldate_as_datetime(xldate, datemode)
这个函数将会把excel的日期数转成datetime.datetime对象。
datemode: 0:从1900年开始算,1:从1904开始算
返回一个datetime.datetime对象。
例子:

import xlrd
from datetime import datetime
date = datetime.strftime(xlrd.xldate.xldate_as_datetime(table.cell(row, col), 0), "%Y-%m-%d")

xlwt

安装

pip install xlwt

创建excel文件

import xlwt
# 创建一个workbook 设置编码
workbook = xlwt.Workbook()
# 创建一个worksheet
worksheet = workbook.add_sheet()
worksheet.write(r, c, label='', style=<xlwt.Style.XFStyle object>)  # r,c表示row和col,label写入数据
worksheet.save(filepath)  # 保存文件

参考

xlrd官方文档
Python里面的xlrd模块详解
Python-xlrd — 利用Python操作Excel表格
python使用xlwt模块操作Excel
xlwt官方文档

posted on 2019-10-11 16:25  复古猴子  阅读(324)  评论(0编辑  收藏  举报

导航