亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

(python) 如何將字典值轉換為 pandas DataFrame

(python) 如何將字典值轉換為 pandas DataFrame

Smart貓小萌 2022-11-01 14:48:42
我的問題如下:我有一個 txt 文件,它只包含一個帶有一個鍵的字典。該單個鍵的值是一個包含字典作為列表條目的巨大列表。用于比較的第一個鍵:值對:"data": [{"type": "utl", "id": "53150", "attributes": {"timestamp": "T13:00:00Z", "count": 0.0}}, [...etc.]我嘗試了以下方法,通過調用 .values 方法然后使用 list() 將單鍵字典的值轉換為列表:list_variable = list(dict_variable.values())但似乎這只是將值轉換為只有一個索引的列表,因為當我嘗試調用索引 0 時文件崩潰(列表太大),如果我嘗試調用索引 1,我會收到一個 KeyError 說明索引超出范圍。(我目前的想法是首先將其轉換為列表,然后轉換為 DataFrame)我是一個該死的初學者,不知道我還能嘗試什么。我錯過了什么?提前非常感謝!fpr 您的有用意見!
查看完整描述

2 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

以下代碼對您有幫助嗎?


測試.txt


"data": [{"type": "utl", "id": "53150", "attributes": {"timestamp": "T13:00:00Z", "count": 0.0}}, {"type": "utl2", "id": "53151", "attributes": {"timestamp": "T12:00:00Z", "count": 1.0}}]

from re import findall

from pandas.io.json import json_normalize


with open("test.txt") as f:

    print(json_normalize(eval(findall("{.+}", f.read())[0])))

輸出:


   type     id attributes.timestamp  attributes.count

0   utl  53150           T13:00:00Z               0.0

1  utl2  53151           T12:00:00Z               1.0


查看完整回答
反對 回復 2022-11-01
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

對我來說看起來像一個json。嘗試使用pandas.json_normalize


d = {"data": [{"type": "utl", "id": "53150", "attributes": {"timestamp": "T13:00:00Z", "count": 0.0}}]}

pd.json_normalize(d['data'])


  type     id attributes.timestamp  attributes.count

0  utl  53150           T13:00:00Z               0.0


查看完整回答
反對 回復 2022-11-01
  • 2 回答
  • 0 關注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號