Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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_Regex_Python 2.7_Dictionary_Pandas - Fatal编程技术网

Python将使用正则表达式解析数据转化为字典。

Python将使用正则表达式解析数据转化为字典。,python,regex,python-2.7,dictionary,pandas,Python,Regex,Python 2.7,Dictionary,Pandas,我有一串数据。我想把它变成一个 字典 ff = '{wrapper:{one:{now:""},up:"north",down:"south"}}' 请注意,这些键不是用“或”包装的文本。正则表达式可以帮助做到这一点吗?新文本应该如下所示。如果熊猫可以做到这一点,我可以 使用熊猫 ff = '{"wrapper":{"one":{"now":""},"up":"north","down":"south"}}' 使用环视: (?<={).*?(?=:) (?(?!”)-负面展望 de

我有一串数据。我想把它变成一个 字典

ff = '{wrapper:{one:{now:""},up:"north",down:"south"}}'
请注意,这些键不是用“或”包装的文本。正则表达式可以帮助做到这一点吗?新文本应该如下所示。如果熊猫可以做到这一点,我可以 使用熊猫

ff = '{"wrapper":{"one":{"now":""},"up":"north","down":"south"}}' 
使用环视:

(?<={).*?(?=:)
(?
(?!”)
-负面展望

def st_to_dict(st):
    import re
    return re.sub(r'(\b[^:"]+\b)(?!")',r'"\1"',st)

ff = '{wrapper:{one:{now:""},up:"north",down:"south"}}'

print(st_to_dict(ff))
输出:

{"wrapper":{"one":{"now":""},"up":"north","down":"south"}}
def st_to_dict(st):
    import re
    return re.sub(r'(\b[^:"]+\b)(?!")',r'"\1"',st)

ff = '{wrapper:{one:{now:""},up:"north",down:"south"}}'

print(st_to_dict(ff))
{"wrapper":{"one":{"now":""},"up":"north","down":"south"}}