如何将 json 格式转换为 python 数据帧的字符串列?



我得到了这个数据帧:

数据帧:df_case_1

Id                                       RecordType
0  1234  {'attributes': {'type': 'RecordType', 'url': '/services/data/v55.0/sobjects/RecordType/1234', 'name', 'XYZ'}}
1  4321  {'attributes': {'type': 'RecordType', 'url': '/services/data/v55.0/sobjects/RecordType/4321', 'name', 'ABC'}}

我想要这个数据帧:

数据帧:df_case_final

Id   RecordType
0  1234   'XYZ'
1  4321   'ABC'

目前我使用这个状态,但它为每个案例对象在位置 0 上提供了名称。 df_case_1["记录类型"] = df_case_1.记录类型[0]["名称"]

如何构建语句,即我为每个 id 提供正确的名称,例如在 df_case_final 中?

谢谢

有 3 种方法可以将 JSON 转换为 Pandas 数据帧

# 1. Use json_normalize() to convert JSON to DataFrame
dict= json.loads(data)
df = json_normalize(dict['technologies']) 
# 2. Convert JSON to DataFrame Using read_json()
df2 = pd.read_json(jsonStr, orient ='index')
# 3. Use pandas.DataFrame.from_dict() to Convert JSON to DataFrame
dict= json.loads(data)
df2 = pd.DataFrame.from_dict(dict, orient="index")

现在,将 Json 转换为 df 后,获取最后一列并将其附加到原始数据帧

comatrim不必要的cols来拆分您的df

import pandas as pd
df=pd.read_csv(r"Hansmuff.csv")
df[['1', '2','3','required']]=df['RecordType'].str.split(',', expand=True)
df = df.drop(columns=['RecordType', '1','2','3'])
df['required'] = df['required'].str.strip('{}')
print(df)

输出

Id required
0   1234    'XYZ'
1   4321   'ABC'

最新更新