pandas 如何从字符串中捕获所需的属性?

q3qa4bjr  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(104)

我希望你好我有以下字符串:

"{\"code\":0,\"description\":\"Done\",\"response\":{\"id\":\"8-717-2346\",\"idType\":\"CIP\",\"suscriptionId\":\"92118213\"},....\"childProducts\":[]}}"...

我试着捕捉它的属性:id、idType和subscriptionId,并将它们Map为 Dataframe ,但是.cvs的整个正文都将它们放在一行中,因此没有索引几乎无法工作
所需输出:

id,  idType, suscriptionID
0.   '7-84-1811', 'CIP', 21312421412
1.   '1-232-42',  'IO' , 21421e324

我的代码:

import pandas as pd
import json

path = '/example.csv'
df = pd.read_csv(path)
normalize_df = json.load(df)
print(df)
kuuvgm7e

kuuvgm7e1#

考虑到您的字符串是JSON格式,您可以这样做:删除列,转置,并获得正确的标题。

toEscape = "{\"code\":0,\"description\":\"Done\",\"response\":{\"id\":\"8-717-2346\",\"idType\":\"CIP\",\"suscriptionId\":\"92118213\"}}"

json_string = toEscape.encode('utf-8').decode('unicode_escape')

df = pd.read_json(json_string)

df = df.drop(["code","description"], axis=1)

df  = df.transpose().reset_index().drop("index", axis=1)

df.to_csv("user_details.csv")

输出如下所示:

id  idType  suscriptionId
0   8-717-2346  CIP 92118213

谢谢你的提问。

相关问题