Python 带有数组和密钥对的数据帧
我有一个JSON结构,需要将其转换为数据帧。我已经通过pandas库进行了转换,但我在两列中遇到了问题,其中一列是数组,另一列是密钥对值Python 带有数组和密钥对的数据帧,python,arrays,json,pandas,dataframe,Python,Arrays,Json,Pandas,Dataframe,我有一个JSON结构,需要将其转换为数据帧。我已经通过pandas库进行了转换,但我在两列中遇到了问题,其中一列是数组,另一列是密钥对值 Pito Value {"pito-key": "Number"} [{"WRITESTAMP": "2018-06-28T16:30:36Z", "S":"41bbc22","VALUE":"2"}] 如何将列分解为数据帧。据我所知,您可以应用正则
Pito Value
{"pito-key": "Number"} [{"WRITESTAMP": "2018-06-28T16:30:36Z", "S":"41bbc22","VALUE":"2"}]
如何将列分解为数据帧。据我所知,您可以应用正则表达式来实现这一点
import pandas as pd
import re
data = {'pito':['{"pito-key": "Number"}'], 'value':['[{"WRITESTAMP": "2018-06-28T16:30:36Z", "S":"41bbc22","VALUE":"2"}]']}
df = pd.DataFrame(data)
def get_value(s):
s = s[1]
v = re.findall(r'VALUE\":\".*\"', s)
return int(v[0][8:-1])
def get_pito(s):
s = s[0]
v = re.findall(r'key\": \".*\"', s)
return v[0][7:-1]
df['value'] = df.apply(get_value, axis=1)
df['pito'] = df.apply(get_pito, axis=1)
df.head()
在这里,我创建了两个函数,将可怕的字符串转换为您希望它们具有的值
如果这不是您的意思,请告诉我请提供
json
文件中的示例以及该示例所需的输出。还提供如何读取json。