最近使用到python读写excel的数据,特做以下总结
准备工作
安装xlrd库,完成读excel操作;安装xlwt库,完成写excel操作。
**安装办法**:打开cmd,输入 pip install xlrd;同理安装xlwt
读excel内容
数据准备
原始数据中有两个Sheet,Sheet1内容截图如下:
Sheet操作
import xlrd
#打开文件
excelfile=xlrd.open_workbook("F:\CodeData\\data.xls")
'''sheet操作'''
#获取sheet名称
print (excelfile.sheet_names())
#获取sheet对象
print (excelfile.sheets())
#获取sheet总数
print(excelfile.nsheets)
#根据名称获取指定sheet对象
print(excelfile.sheet_by_name("Sheet1"))
#根据下标获取指定sheet对象
print (excelfile.sheet_by_index(1))
执行结果:
['Sheet1', 'Sheet2']
[<xlrd.sheet.Sheet object at 0x0000027B684B7E10>, <xlrd.sheet.Sheet object at 0x0000027B684B7E48>]
2
<xlrd.sheet.Sheet object at 0x0000027B684B7E10>
<xlrd.sheet.Sheet object at 0x0000027B684B7E48>
注:当指定名称和下标不存在,都会报错
table1 = excelfile.sheet_by_name("Sheet1")
print (table1.ncols)#行数
print(table1.nrows)#列数
执行结果:
3
6
单元格批量读取
print(table1.row_values(0))#获取第n行的值 若是合并单元格 首行显示值 其它为空
print(table1.row(0))#获取第0行的值
print (table1.row_types(0))#获取第0行的类型
print(table1.col_values(0,1,4))#获取第0列1,2,3行的内容
print(table1.row_slice(1,0,2))#获取第1行0,1列的内容
执行情况:
['名称', '单价', '数量']
[text:'名称', text:'单价', text:'数量']
array('B', [1, 1, 1])
['酸奶', '果冻', '冰淇淋']
[text:'酸奶', number:6.0]
特定单元格读取
#取值
print(table1.cell(1,2).value)
#取类型
print(table1.cell(1,2).ctype)
执行情况:
9.0
2
简单小记录,后期用到再补充。