37,743
社区成员




'''
【特别说明】:
如果没有xlrd模块,需要事先在命令行安装xlrd模块
方法:在cmd命令行输入:pip install xlrd
'''
import xlrd
from xlrd import xldate_as_tuple
from datetime import datetime
def read_xls(filename):
workbook = xlrd.open_workbook(filename)
sheet = workbook.sheet_by_index(0) # sheet索引从0开始
xls_list = []
for row_index in range(1, sheet.nrows): # 不读取表头
rows = sheet.row_values(row_index) # 所以从第2行内容开始获取
xls_list.append(rows)
return xls_list
def create_my_dict(table_list):
records_dict = {}
for row_data in table_list:
# 格式转换:将第0列的值转换成datetime对象
col0 = datetime(*xldate_as_tuple(row_data[0], 0))
key = col0.strftime('%Y-%m-%d %H:%M') #取第0列
value = row_data[1:] #取第1列-第n列
records_dict.update({key:value}) #加入到字典变量中
return records_dict
def dict_sort(records_dict, sort_reverse=False):
'''
:param records_dict:
:param sort_reverse: 默认参数(默认值为False)
:return:
'''
# 将字典转换为列表
kvlist = list(records_dict.items())
# 排序
kvlist.sort(reverse=sort_reverse)
# 将列表转换为新字典并返回
return dict(kvlist)
# main 执行体
if __name__ == '__main__':
# xls文件路径根据自己的来设置
filename = 'C:\\Users\\Administrator\\Desktop\\Book1.xls'
xls_list = read_xls(filename)
records_dict = create_my_dict(xls_list)
print("排序前的字典数据是:\n{}".format(records_dict))
new_dict = dict_sort(records_dict)
# new_dict = dict_sort(records_dict, True) # 如此调用则为倒序
print("\n排序后的字典数据是:\n{}".format(new_dict))
'''
【特别说明】:
如果没有xlrd模块,需要事先在命令行安装xlrd模块
方法:在cmd命令行输入:pip install xlrd
'''
import xlrd
from xlrd import xldate_as_tuple
from datetime import datetime
def read_xls(filename):
workbook = xlrd.open_workbook(filename)
sheet = workbook.sheet_by_index(0) # sheet索引从0开始
list = []
for row_index in range(1, sheet.nrows): #sheet.nrows
rows = sheet.row_values(row_index) # 获取第2行内容
list.append(rows)
return list
def create_my_dict(table_list):
records_dict = {}
for row_data in table_list:
# 格式转换:将第0列的值转换成datetime对象
col0 = datetime(*xldate_as_tuple(row_data[0], 0))
key = col0.strftime('%Y-%m-%d %H:%M') #取第0列
value = row_data[1:] #取第1列-第n列
records_dict.update({key:value}) #加入到字典变量中
return records_dict
def dict_sort(records_dict):
# 将字典转换为列表
kvlist = list(records_dict.items())
# 排序
kvlist.sort()
# 将列表转换为新字典并返回
return dict(kvlist)
# main 执行体
if __name__ == '__main__':
# xls文件路径根据自己的来设置
filename = 'E:\\Users\\Administrator\\Desktop\\csdn.xls'
xls_list = read_xls(filename)
records_dict = create_my_dict(xls_list)
print("排序前的字典数据是:\n{}".format(records_dict))
new_dict = dict_sort(records_dict)
print("\n排序后的字典数据是:\n{}".format(new_dict))