【Python】把excel文件中的数据转化为字典格式存起来
生活随笔
收集整理的這篇文章主要介紹了
【Python】把excel文件中的数据转化为字典格式存起来
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
【需求描述】
把excel表格轉(zhuǎn)化為字典存起來(lái),方便讀取。
?
【步驟】
例如下面表格為“值班表.xlsx”
| date | name | age |
| 20200617 | xiaowang | 16 |
| 20200618 | xiaozhang | 18 |
(1)把“值班表.xlsx”另存為無(wú)格式的“值班表.csv”。默認(rèn)是以逗號(hào)作為分隔符。
(2)把第一列的日期作為關(guān)鍵字,構(gòu)建空字典。例如,dic = {'20200617': {}, '20200618':{}}。
(3)關(guān)鍵字對(duì)應(yīng)的值為二級(jí)字典,二級(jí)關(guān)鍵字為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] # (行名)日期是一級(jí)索引sub_keys = headline[1:] # (列名)標(biāo)題是二級(jí)索引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] = valueimport os, jsonout_path = os.path.splitext(file_path)[0] + ".json"with open(out_path, "w") as fd:json.dump(dic, fd)?
總結(jié)
以上是生活随笔為你收集整理的【Python】把excel文件中的数据转化为字典格式存起来的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PPT居然还可以一键换色!学会这4招再也
- 下一篇: websocket python爬虫_p