本节只记录关于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()