Python把excel文件數(shù)據(jù)轉(zhuǎn)化為字典格式存儲(chǔ)詳解
Python把excel文件數(shù)據(jù)轉(zhuǎn)化為字典格式存儲(chǔ)
【需求描述】
把excel表格轉(zhuǎn)化為字典存起來,方便讀取。
【步驟】
例如下面表格為“值班表.xlsx”
| date | name | age |
| 20200617 | xiaowang | 16 |
| 20200618 | xiaozhang | 18 |
(1)把“值班表.xlsx”另存為無格式的“值班表.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] = value
import os, json
out_path = os.path.splitext(file_path)[0] + ".json"
with open(out_path, "w") as fd:
json.dump(dic, fd) 到此這篇關(guān)于Python把excel文件數(shù)據(jù)轉(zhuǎn)化為字典格式存儲(chǔ)詳解的文章就介紹到這了,更多相關(guān)Python的excel轉(zhuǎn)化為字典內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解
今天小編就為大家分享一篇對(duì)Python函數(shù)設(shè)計(jì)規(guī)范詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-07-07
python實(shí)現(xiàn)校園網(wǎng)自動(dòng)登錄的示例講解
下面小編就為大家分享一篇python實(shí)現(xiàn)校園網(wǎng)自動(dòng)登錄的示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python實(shí)現(xiàn)將MySQL數(shù)據(jù)庫查詢結(jié)果導(dǎo)出到Excel
在實(shí)際工作中,我們經(jīng)常需要將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)出到Excel表格中進(jìn)行進(jìn)一步的分析和處理,Python中的pymysql和xlsxwriter庫提供了很好的解決方案,下面我們就來看看具體操作方法吧2023-11-11
Python 中的 dataclass使用場景與代碼示例詳解
在Python中,dataclass是一個(gè)裝飾器,用于簡化類的定義,自動(dòng)生成初始化、比較等方法,適用于需要存儲(chǔ)數(shù)據(jù)的場景,通過示例展示了dataclass的基本用法,感興趣的朋友跟隨小編一起看看吧2024-09-09
python讀取相對(duì)路徑和絕對(duì)路徑的方法
這篇文章主要介紹了python讀取相對(duì)路徑和絕對(duì)路徑,下面的路徑介紹針對(duì)windows,在編寫的py文件中打開文件的時(shí)候經(jīng)常見到下面其中路徑的表達(dá)方式,需要的朋友可以參考下2023-02-02
Python多進(jìn)程并發(fā)(multiprocessing)用法實(shí)例詳解
這篇文章主要介紹了Python多進(jìn)程并發(fā)(multiprocessing)用法,實(shí)例分析了multiprocessing模塊進(jìn)程操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06

