Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有数组和密钥对的数据帧_Python_Arrays_Json_Pandas_Dataframe - Fatal编程技术网

Python 带有数组和密钥对的数据帧

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"}] 如何将列分解为数据帧。据我所知,您可以应用正则

我有一个JSON结构,需要将其转换为数据帧。我已经通过pandas库进行了转换,但我在两列中遇到了问题,其中一列是数组,另一列是密钥对值

         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。