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

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

Json 文件作為列表而不是字典加載。使用蟒蛇

Json 文件作為列表而不是字典加載。使用蟒蛇

開心每一天1111 2023-03-01 15:45:24
我正在嘗試學習從 json 文件中獲取信息。大小為 250MB 的 json 文件在我的桌面上。我是 python 的新手,盡管不知疲倦的谷歌得到了答案,但我確信我遺漏了一些東西。我的理解是,當我加載一個 Json 文件時,預期的類型是一個字典。import jsonwith open (r'c:\eseek\limitsdata.json) as f:   data = json.load(f)print type(data)我得到 <class 'list'> 作為輸出...但不確定為什么這不是我在許多教程中看到的字典我剛剛意識到這類似于已經可用的帖子 [https://stackoverflow.com/questions/57030807/python-json-loads-returns-list-instead-of-dict]我想迭代到 json,但是當我嘗試以下步驟時......它不起作用data_str = json.dumps(data)print(data_str[0])我沒有得到第一個嵌套組,但是我得到了第一個字符串“[”我知道我在這里遺漏了一些東西。如果有人可以突出顯示相同的內容,那就太好了樣本數據。如果主文件中的模型為 500,我正在嘗試任務詳細信息。[    {        "Model": " 500",        "Task": “71-00-00-200-802 ",    },    {        "Model": " 900",        "Task": " 71-00-00-200-802",    }]
查看完整描述

1 回答

?
qq_遁去的一_1

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

如果第一個字符是“[”,那么 json 文件確實應該被解析為一個列表。例如,


a_list = json.loads("[ 'a', 'b', 'c' ] ")   # should give list [a,b,c]

a_dict = json.loads("{ 'data' : ['a', 'b', 'c']} ") # gives a dict


print(type(a_list), type(a_dict)) # should be list, dict

a_dict['data']  # can look up the field in this dict

至于你的第二個問題:如果你想遍歷項目(a_list上面的第一項是項目“ a”)然后將其保留為列表。如果你想遍歷字符(第一個字符json.dumps(a_list)是“ [”),那么你先把它轉換成一個字符串。


您無需將 json 轉換回字符串即可對其進行迭代,只需執行


for item in a_list:

    print(item)

編輯:特別是對于您的數據,您可以按如下方式訪問字段:


with open (r'c:\eseek\limitsdata.json') as f:

   data = json.load(f)


print( data[0]["Model"] ) # prints '500'

print( data[1]["Task"] ) # prints ' 71-00-00-200-802'


查看完整回答
反對 回復 2023-03-01
  • 1 回答
  • 0 關注
  • 121 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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