python将字符串转成json格式_python – 将一列json字符串转换为数据列

本文介绍了一种从带有数字前缀的JSON字符串中去除这些数字的方法,并将其转换为Python字典,最终利用Pandas将字典转换为表格形式。

您的列值似乎在实际的json字符串之前有一个额外的数字.所以你可能想要首先剥离(如果不是这样的话,请跳到Method)

一种方法是将函数应用于列

# constructing the df

df = pd.DataFrame([['0 {"a":"1","b":"2","c":"3"}'],['1 {"a" :"4","b":"5","c":"6"}']], columns=['json'])

# print(df)

json

# 0 0 {"a":"1","b":"2","c":"3"}

# 1 1 {"a" :"4","b":"5","c":"6"}

# function to remove the number

import re

def split_num(val):

p = re.compile("({.*)")

return p.search(val).group(1)

# applying the function

df['json'] = df['json'].map(lambda x: split_num(x))

print(df)

# json

# 0 {"a":"1","b":"2","c":"3"}

# 1 {"a" :"4","b":"5","c":"6"}

方法:

一旦df采用上述格式,下面将每个行条目转换为字典:

df['json'] = df['json'].map(lambda x: dict(eval(x)))

然后,将pd.Series应用于该列将完成该任务

d = df['json'].apply(pd.Series)

print(d)

# a b c

# 0 1 2 3

# 1 4 5 6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值