将字符串从JSON转换为字典或元组

马克·珀恩

我从JSON文件中以以下格式提取字符串:

"voltages":[[0.001953125,-12.5],[0.00390625,-12.5],[0.005859375,-12.5]...]]

我想将两项的组合转换为字典或元组,以便可以将其写入Excel文件。

我所做的就是尝试使用正则表达式r'(\[\[.*\]\])+'来获取数据json.loads,但随后我对如何将数据转换为字典一无所知。

{"gain":35.6,"signals":{"trigger":31.73,"baseline":-19.402221696199106,"voltages": 
[[0.001953125,-12.5],[0.00390625,-12.5],[0.005859375,-12.5], 
 [0.0078125,-12.5],[0.009765625,-12.5],[0.01171875,-12.5],[0.013671875,-12.5]...]}}

我最终使用以下内容:

with open(filename, "r") as file:
  data = json.loads(file.read())
  voltages_dict = dict()
  for entry in data['signals']['voltages']:
      voltages_dict[entry[0]] = entry[1]
特伦顿·麦金尼
  • 在名为的文件中给出以下内容 test.json
{
    "gain": 35.6,
    "signals": {
        "trigger": 31.73,
        "baseline": -19.402221696199106,
        "voltages": [[0.001953125, -12.5], [0.00390625, -12.5], [0.005859375, -12.5], [0.0078125, -12.5], [0.009765625, -12.5], [0.01171875, -12.5], [0.013671875, -12.5]]
    }
}

从文件读取和提取信息

from pathlib import Path
import json

# p = Path('test.json')  # if in current dir
# p = Path(r'c:\some_path\test.json')  # if it's not in the current dir
p = Path.cwd() / 'test.json' 

# read the file
with p.open('r', encoding='utf-8') as f:
    data = json.loads(f.read())

# extract information
print(data['signals']['voltages'])

[[0.001953125, -12.5],
 [0.00390625, -12.5],
 [0.005859375, -12.5],
 [0.0078125, -12.5],
 [0.009765625, -12.5],
 [0.01171875, -12.5],
 [0.013671875, -12.5]]

# into a dict
voltages_dict = dict()
voltages_dict['voltages'] = data['signals']['voltages']

格式错误的JSON

  • 尝试修复各种问题
# if "signals instead of "signals"

with p.open("r") as file: 
    read_file = file.read()
    read_file.replace('"signals', '"signals"')
    # add additional fixes
    # save file

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

Python将元组转换为字符串

来自分类Dev

将JSON字符串转换为C#字典

来自分类Dev

将字符串转换为字典

来自分类Dev

将字典字符串字符串转换为json字符串

来自分类Dev

使用函数将字符串转换为元组

来自分类Dev

ERLANG将字符串转换为元组列表

来自分类Dev

如何将单元组转换为字符串?

来自分类Dev

将元组的字符串转换为元组

来自分类Dev

将JSON字符串转换为Python字典

来自分类Dev

将元组列表转换为字符串的更好方法

来自分类Dev

将元组字符串转换为字符串元组

来自分类Dev

将元组的整数转换为元组的字符串

来自分类Dev

Spark:将WrappedArray的元组转换为字符串

来自分类Dev

将经/纬字符串转换为元组

来自分类Dev

将包含元组的pandas列转换为字符串

来自分类Dev

将列元组转换为字符串

来自分类Dev

将数字元组转换为字符串

来自分类Dev

将JSON字符串转换为C#字典

来自分类Dev

将元组转换为该tupple的字符串

来自分类Dev

将字典字符串字符串转换为json字符串

来自分类Dev

将字符串转换为嵌套元组:Python

来自分类Dev

Python-将元组转换为字符串

来自分类Dev

使用函数将字符串转换为元组

来自分类Dev

将字符串元组转换为读取元组

来自分类Dev

将元组字符串转换为元组

来自分类Dev

将元组转换为字符串

来自分类Dev

将字符串转换为字典?

来自分类Dev

将包含字典的字符串转换为字典列表

来自分类Dev

将一组元组的字符串表示形式转换为字典