Python把excel文件数据转化为字典格式存储详解
Python把excel文件数据转化为字典格式存储
【需求描述】
把excel表格转化为字典存起来,方便读取。
【步骤】
例如下面表格为“值班表.xlsx”
date | name | age |
20200617 | xiaowang | 16 |
20200618 | xiaozhang | 18 |
(1)把“值班表.xlsx”另存为无格式的“值班表.csv”。默认是以逗号作为分隔符。
(2)把第一列的日期作为关键字,构建空字典。例如,dic = {'20200617': {}, '20200618':{}}。
(3)关键字对应的值为二级字典,二级关键字为name和age。
最终字典为
dic = {'20200617': {'name': 'xiaowang', 'age':16}, '20200618':{'name': 'xiaozhang', 'age':18}}
【代码】
def get_dic_from_csv(file_path): with open(file_path, 'r') as fd: raw_data = fd.readlines() headline = raw_data[0].strip().split(",") data = [it.strip().split(",") for it in raw_data[1:]] keys = [it[0] for it in data] # (行名)日期是一级索引 sub_keys = headline[1:] # (列名)标题是二级索引 dic = dict(zip(keys, [{} for i in range(len(keys))])) for line in data: key = line[0] if dic[key] != {}: print("Error: repeated values", key, dic[key]) else: value = dict(zip(sub_keys, [int(it) for it in line[1:]])) dic[key] = value import os, json out_path = os.path.splitext(file_path)[0] + ".json" with open(out_path, "w") as fd: json.dump(dic, fd)
到此这篇关于Python把excel文件数据转化为字典格式存储详解的文章就介绍到这了,更多相关Python的excel转化为字典内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Pythont特殊语法filter,map,reduce,apply使用方法
这篇文章主要介绍了Pythont特殊语法filter,map,reduce,apply使用方法,需要的朋友可以参考下2016-02-02Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
今天遇到一个问题,使用python的find函数寻找字符串中的第一个空格时没有找到正确的位置,下面是解决方法,需要的朋友可以参考下2020-02-02
最新评论