什么,还在用xlrd模块?为何不用pandas?????
import pandas as pd
data_excel = pd.DataFrame(pd.read_excel(excelFile))
pd.read_excel(
io,
sheet_name=0,
header=0,
names=None,
usecols=None,
dtype=None,
skiprows=None,
na_values=None,
skip_footer=0,
skipfooter=0,
convert_float=True,
**kwds,
)
1. xlrd 基础介绍 https://www.cnblogs.com/insane-Mr-Li/p/9092619.html
xlrd使用详解 https://blog.csdn.net/oxuzhenyi/article/details/72528561
数据类型(ctype)包括:0 empty, 1 string, 2 number, 3 date,4 boolean, 5 error
1.1 读取excell 文件
import xlrd
data = xlrd.open_workbook(filename)
获取工作表
# 1) 获取一个工作表
table = data.sheets()[i] table = data.sheet_by_index(sheet_index) #索引顺序
table = data.sheet_by_name(sheet_name) #通过名称
names = data.sheet_names() #返回book中所有工作表的名字
data.sheet_loaded(sheet_name or index) #检查某个sheet是否导入完毕
# 2)读取数据
values = []
col = 2 #读取第二列的所有数据
for row in range(table.nrows):
values.append(table.cell(row,col).value)
#注意要通过.cell.value 读数据,不然读到的是cell型数据
values = np.array(values)
单元格操作: 返回单元格对象table.cell(r,c),数据类型table.cell_type(r,c)或者table.cell(r,c).ctype,数据table.cell_value(r,c)或者table.cell(r,c).value
行操作:获取有效行数nrows = table.nrows,返回该行中所有单元格对象组成的列表,返回该行所有数据类型组成的列表,返回该行所有数据组成的列表,table.row_values(rowx, start_colx = 0, end_colx = None)。 返回该行的有效单元格长度
列操作:返回有效列数 ncols = table.ncols,返回该列中所有单元格对象组成的列表,返回该列所有数据类型组成的列表,返回该列所有数据组成的列表table.col_values(colx, start_rowx = 0, end_row = None)
table = data.sheets()[i]
y = table.col_values(2) #读取列的值
1.2 读取日期数据。https://blog.csdn.net/Sukie_csdn/article/details/78672626
xlrd.xldatae_as_tuple(sheet2.cell(r,c).value, workbook.datemode)
1.3 合并单元格的读取
只能获取合并单元格的第一个cell的行列索引,不然就是空值。
附:python实现excell 读取,统计,写入https://blog.csdn.net/StepLeave/article/details/51959798
详细用法说明:用于设置的常用命令: http://blog.csdn.net/Bule_Zst/article/details/77266273