xlrd模块实现对excel文件内容读取,xlwt模块实现对excel文件的写入。
安装
pip install xlrd
pip install xlwt
xlrd模块使用
excel文档名称为联系人.xls,内容如下:
(1) 打开excel文件并获取所有sheet
mport xlrd
# 打开Excel文件读取数据
data = xlrd.open_workbook('联系人.xls')
sheet_name = data.sheet_names() # 获取所有sheet名称
print(sheet_name) # ['银行2', '银行3']
(2) 根据下标获取sheet名称
# 根据下标获取sheet名称
sheet2_name = data.sheet_names()[1]
print(sheet2_name) # '银行3'
(3) 根据sheet索引或者名称获取sheet内容,同时获取sheet名称、行数、列数
# 根据sheet索引或者名称获取sheet内容,同时获取sheet名称、列数、行数
sheet2 = data.sheet_by_index(1)
print('sheet2名称:{}\nsheet2列数: {}\nsheet2行数: {}'.format(sheet2.name, sheet2.ncols, sheet2.nrows))
# sheet2名称:银行3
# sheet2列数: 7
# sheet2行数: 5
sheet1 = data.sheet_by_name('银行2')
print('sheet1名称:{}\nsheet1列数: {}\nsheet1行数: {}'.format(sheet1.name, sheet1.ncols, sheet1.nrows))
# sheet1名称:银行2
# sheet1列数: 8
# sheet1行数: 6
(4) 根据sheet名称获取整行和整列的值
# 根据sheet名称获取整行和整列的值
sheet1 = data.sheet_by_name('银行2')
print(sheet1.row_values(3))
# ['', '张2', '开发', 'IT编码', 999.0, 133111.0, 41463.0, 'zhang2@164.com'] 日期2013/7/7,实际却显示为浮点数41463.0
print(sheet1.col_values(3))
# ['', '工作职责', '', 'IT编码', '网络维修', '']
(5)获取指定单元格的内容
# 获取指定单元格的内容
print(sheet1.cell(1,0).value) # 第2 行1列内容:机构名称
print(sheet1.cell_value(1,0)) # 第2 行1列内容:机构名称
print(sheet1.row(1)[0].value) # 第2 行1列内容:机构名称
(6)获取单元格内容的数据类型
# 获取单元格内容的数据类型
print(sheet1.cell(1,0).ctype) # 第2 行1列内容 :机构名称为string类型
print(sheet1.cell(3,4).ctype) # 第4行5列内容:999 为number类型
print(sheet1.cell(3,6).ctype) # 第4 行7列内容:2013/7/8 为date类型
# 说明:ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
<