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

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

如何從熊貓數據框中以列形式存在的json格式數據中檢索某些鍵和值

如何從熊貓數據框中以列形式存在的json格式數據中檢索某些鍵和值

慕碼人2483693 2022-07-12 15:47:10
我有一個如下所示的數據框(列名 - 日期、錯誤消息、消息)data = """Date|Error|message   26/11/19   |   unauthorized access | {"eventVersion":"1.05","userIdentity":"type":"IAMUser","principalId":"AIDAIETZDDDVS36MMCHPS","arn":"arn:aws:iam::819490967212:user/IAMAdmin","accountId":"819490967212","accessKeyId":"ASIA35TLXZ2WPIBTBWP2","userName":"IAMAdmin","sessionContext":{"sessionIssuer":{},"webIdFederationData":{},"attributes":{"mfaAuthenticated":"false","creationDate":"2019-12-19T03:14:04Z"}}"""from io import StringIOdf = pd.read_csv(StringIO(data),sep='|)print(df)Date        Error   message0   26/11/19    unauthorized access {"eventVersion":"1.05","userIdentity":"type":...消息列的每一行都有類似json格式的數據。如何從“消息”列中檢索某些鍵及其各自的值("userName", "account ID"),以便這些鍵可以成為新列。嘗試使用 python 但無法檢索
查看完整描述

2 回答

?
森欄

TA貢獻1810條經驗 獲得超5個贊

您可以使用 json 或 pandas


import json

#some JSON:

x =  '{ "name":"John", "age":30, "city":"New York"}'


# parse x:

y = json.loads(x)




# the result is a Python dictionary:

print(y["age"])

或者您可以使用 pandas.read_json() 它以相同的方式工作,但您應該使用方向。在這里查看:https ://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_json.html


查看完整回答
反對 回復 2022-07-12
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

df['userName'] = df['message'].apply(lambda x: x.get('userName'))
df['account'] = df['message'].apply(lambda x: x.get('account'))


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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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