python操作execl学习笔记(一)
本节只记录关于execl的读操作:
execl 内容及格式
python3
#!/usr/bin/env python #-*- coding:utf-8 -*- import xlrd import xlwt import datetime def read_file(): ###打开execl文件 file_name = xlrd.open_workbook("C:\\Users\\admin\\Desktop\\关键词统计.xlsx") #### 获取所有sheet名称,得到一个列表 ['10-28', '10-29', '10-30', '10-31', '11-1'] print (file_name.sheet_names()) ###打印所有sheet名称 # 根据sheet索引或者名称获取sheet内容 sheet_1031 = file_name.sheet_by_index(3) ###根据索引获取sheet名称及内容 sheet_1031bak = file_name.sheet_by_name('10-31') #### 根据sheet名称获取内容 # sheet的名称,行数,列数 print (sheet_1031.name,sheet_1031.nrows,sheet_1031.ncols) a = sheet_1031.nrows b = sheet_1031.ncols ### 类型说明 ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error ###默认从0行0列开始算起 print (sheet_1031.cell(0,1).ctype) ###打印获得的execl值的类型(第一行第二列) # 获取整行和整列的值 rows = sheet_1031.row_values(1) ###获取第一行的值---列表 cols = sheet_1031.col_values(2) ###获取第一列的值---列表 print (rows) for i in range(a): for j in range(b): if i == 0: break elif (sheet_1031.cell(i,j).ctype) == 3: year, month, day, hour, minute, second = xlrd.xldate_as_tuple(sheet_1031.cell(i,j).value, file_name.datemode) py_date = datetime.datetime(year, month, day, hour, minute, second) print ("时间:",py_date) elif (sheet_1031.cell(i,j).ctype) == 2 : c = int(sheet_1031.cell(i,j).value) if j == 0: print ("整时:",c) else: print ("用户id:",c) elif (sheet_1031.cell(i, j).ctype) == 1: e = sheet_1031.cell(i, j).value if j == 3: print ("关键词:",e) else: print ("ip:",e) ###列的开头从0开始,行的开头也从0刚开始 print (rows,cols) d = int(sheet_1031.cell(1,0).value) print (d) ####打印第二行第一列 # print (sheet_1031.cell_value(1,3)) ####打印第二行第四列 # print (sheet_1031.row(2)[4].value) ####打印第2行第4列 ####打印第四行第一列的值的类型 # print (sheet_1031.cell(4,0).ctype) ### ctype : 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error ####时间拆分得到一个元组 # data_value = xlrd.xldate_as_tuple(sheet_1031.cell_value(4,1),file_name.datemode) # print (data_value) ###默认情况下得到的时间为一个时间戳,下面代码将时间戳转化为所需要的execl时间 year, month, day, hour, minute, second = xlrd.xldate_as_tuple(sheet_1031.cell(4, 1).value,file_name.datemode) py_date = datetime.datetime(year, month, day, hour, minute, second) print (datetime.datetime(year, month, day, hour, minute, second)) read_file()