Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用。
通过判断读取表格的数据类型ctype,进一步处理。
返回的单元格内容的类型有5种:
ctype: 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 error
ctype =sheet1.cell(i,j).ctype
参考示例如下:
def text(read_path):
workbook = xlrd.open_workbook(read_path) # 打开工作簿
sheets = workbook.sheet_names() # 获取工作簿中的所有表格
worksheet = workbook.sheet_by_name(sheets[0]) # 获取工作簿中所有表格中的的第一个表格
data = set([])
print(worksheet.nrows)
print(worksheet.ncols)
for j in range(1, 3):
date = worksheet.cell_value(j, 3)
print(date)
ctype = worksheet.cell(j, 3).ctype
print('---ctype: ', ctype)
date = datetime(*xldate_as_tuple(date, 0))
cell = date.strftime('%Y-%m-%d') # ('%Y/%m/%d %H:%M:%S')
print(cell)
参考: