需求:现有一个excel表格,读取date列的内容和合并单元格的内容
Sheet1页的数据内容如下:
代码如下:
import xlrd
import collections
import json
import operator
from ctypes import *
from datetime import date,datetime
excel_file = xlrd.open_workbook('C:\\Users\\belle.zhao\\Desktop\\test.xlsx','rb') # 打开excel文件
print(excel_file.sheet_names()) # 获取Excel的sheet表
sheet = excel_file.sheet_by_name('Sheet1') # 选择sheet页sheet1
sheet1 = excel_file.sheet_by_index(1) #选择第2个sheet页的表
title = sheet.row_values(0) #获取sheet页的标题
ncols = sheet.ncols # 获取sheet1 页的列数
nrows = sheet.nrows # 获取sheet1页的行数
data_list = []
for i in range(1,nrows):
data_values = collections.OrderedDict()
row_value = sheet.row_values(i)
for j in range(0,len(row_value)-1):
data_values[title[j]] = row_value[j]
print([title[j]],row_value[j])
data_list.append(data_values)
row_result = json.dumps(data_list)
print("len(row_value)-1列的所有行的值是:", row_result)
cell_value=sheet.cell_value(1,1) # 获取第2行第2列的值
cell_value2=sheet.cell(1,1) # 获取第2行第2列的数据类型和值
cell_value3=sheet.row(1)[1] # 获取第2行第2列的值
print("cell_value的值是:", cell_value)
print("cell_value2的值是:",cell_value2)
print("cell_value3的值是:",cell_value3)
# 读取excel中日期类型的数据
# 将第4行第4列的数据转化为日期格式:
cell_value_type=sheet.cell_type(3,3) # 获取第4行第4列的数据类型,表格中是日期类型
if cell_value_type == 3:
date_value = xlrd.xldate_as_tuple(sheet.cell_value(3,3), excel_file.datemode)
date_tmp = date(*date_value[:3]).strftime('%Y/%m/%d'