【Python】字典dict类型转换为列表list类型
我們有時候用chrome瀏覽器獲取Network中XHR的數據,得到的是Json類型,有時也可能是python中的字典類型,如果獲取的數據比較復雜,通過簡單的處理我們是無法拿到我們需要的數據的,這時我們就需要對數據進行轉換處理,主要涉及到4中數據類型:str字符串,list列表,dict字典,tuple元組,或者混合類型。請參考以下案例,假設我們獲取的數據是這樣的(已簡單處理):
class_dict = { "total":"5", "rows":[{"courseName":"課程1","audioname":"1.mp4","pdfFileId":"1.pdf","learnStatus":"未開始","student":"我"},{"courseName":"課程2","audioname":"2.mp4","pdfFileId":"2.pdf","learnStatus":"null","student":"我"},{"courseName":"課程3","audioname":"3.mp4","pdfFileId":"3.pdf","learnStatus":"已開始","student":"我"},{"courseName":"課程4","audioname":"4.mp4","pdfFileId":"4.pdf","learnStatus":"未開始","student":"我"},{"courseName":"課程5","audioname":"5.mp4","pdfFileId":"5.pdf","learnStatus":"已開始","student":"我"}] }我現在想要獲取到courseName,audioname,pdfFileId,learnStatus的值,并存入到EXCEL中的4列。
我們的思路是,先將這個原始數據轉換成一個二維列表[['課程1', '1.mp4', '1.pdf', '未開始'], ['課程2', '2.mp4', '2.pdf', 'null'],...]
然后將二維列表的值循環存入到EXCEL文件中。
解決這個問題前,我們先介紹一下字典的一些基礎知識:
一、字典類型與json類型的區別
1.python dict 字符串可以用單引號或者雙引號,json強制規定雙引號。
2.python {“me”: “我”} 是合法的,json必須是 {“me”: “\u6211”}?
3.字典類型與json可以相互轉換,字典轉換為json:dict_json = json.dumps(dict),
? json轉換為字典類型:json_dict = json.loads(json)
??
二、遍歷字典的鍵值,得到各種數據類型
三、遍歷字典項,得到的是元組類型
# 2.遍歷字典項,得到的是元組類型for item in class_dict.items():print("遍歷字典項:", item)print("這里的item為元組類型:", type(item))四、創建一個函數得到二維列表:
def dict_to_list():class_list = [] #1.創建一個空的二維列表for key, value in class_dict.items():print("value的數據類型:",type(value),value) #2.獲取字典類型數據的value(dict-->str,list)for item1 in value:if isinstance(value, (list)): #3.過濾value中非列表類型的數據(str,list-->list)print("數據類型為字典:", type(item1), item1) #4.獲取列表中的字典數據(list-->dict)rows = [] #5.創建一個空的列表存放數據for info in item1:if info == 'courseName'or info == 'audioname' or info == 'pdfFileId' or info == 'learnStatus':rows.append(item1[info]) #6.獲取字典類型數據的value存入到一維列表(dict-->str-->list)if rows: # 如果列表不為空class_list.append(rows) # 二維列表存入數據return class_listif __name__ == '__main__':#deal_dict()print(dict_to_list())這個方法的思路是遍歷字典的鍵值然后再處理數據:dict-->list-->dict-->str-->list
還有一種方法是遍歷字典項生成元組,再處理數據:dict-->tuple-->list-->dict-->str-->list
到這里算是得到了我們想要的數據,但是如果要存入到Excel文件,那還需要處理,下篇文章將介紹一下如何對Excel操作。
總結
以上是生活随笔為你收集整理的【Python】字典dict类型转换为列表list类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】Python中内置的%操
- 下一篇: 【Python】pysnooper模块对