如何将嵌套字典的所有值转换为字符串?

2024-01-08

我正在编写一个 python 应用程序,其中有一个可以嵌套到任何级别的变量字典。

任何级别中的键可以是 int 或 string。但我想将所有级别的所有键和值转换为字符串。字典的嵌套方式是可变的,这使得它有点复杂。

{
    "col1": {
        "0": 0,
        "1": 8,
        "2": {
            0: 2,
        }
        "3": 4,
        "4": 5
    },
    "col2": {
        "0": "na",
        "1": 1,
        "2": "na",
        "3": "na",
        "4": "na"
    },
    "col3": {
        "0": 1,
        "1": 3,
        "2": 3,
        "3": 6,
        "4": 3
    },
    "col4": {
        "0": 5,
        "1": "na",
        "2": "9",
        "3": 9,
        "4": "na"
    }
}

我正在寻找最短、最快的函数来实现这一目标。还有其他问题,例如将Python中的字典值从嵌套字典中的str转换为int https://stackoverflow.com/questions/37635549/converting-dictionary-values-in-python-from-str-to-int-in-nested-dictionary这提出了执行此操作的方法,但没有一个涉及字典的“变量嵌套”性质。

任何想法将不胜感激。


这是我能想到的最直接的方法:

import json

data = {'col4': {'1': 'na', '0': 5, '3': 9, '2': '9', '4': 'na'}, 'col2': {'1': 1, '0': 'na', '3': 'na', '2': 'na', '4': 'na'}, 'col3': {'1': 3, '0': 1, '3': 6, '2': 3, '4': 3}, 'col1': {'1': 8, '0': 0, '3': 4, '2': {0: 2}, '4': 5}}
stringified_dict = json.loads(json.dumps(data), parse_int=str, parse_float=str)

以下是 json 加载和 parse_int 文档的一些链接:Python3 https://docs.python.org/3/library/json.html#json.load, Python2 https://docs.python.org/2/library/json.html#json.load

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将嵌套字典的所有值转换为字符串? 的相关文章

随机推荐

  • .Semaphore() 和 .BoundedSemaphore() 有什么区别?

    我知道threading Lock 等于threading Semaphore 1 Is also threading Lock 等于threading BoundedSemaphore 1 我最近看到threading BoundedSe
  • OSX 上的 AVAudioSession 替代方案可获取音频驱动程序采样率

    在IOS上你可以使用 AVAudioSession sharedInstance sampleRate 检索音频驱动程序使用的当前采样率 AVAudioSession 在 OSX 上不存在 所以我想知道如何在 OSX 上实现同样的事情 因为
  • 弱化 GADT 类型约束以处理不可预测的数据

    我试图利用 GADT 来获得良好的约束类型 但某些依赖项在编译期间无法处理 例如用户输入 让我们考虑以下 AVL 树定义 data Zero data S a data AVL depth where Nil AVL Zero LNode
  • OS X 10.9 升级后 Android Studio 项目出现问题,cacerts 错误

    我在加载在 Mountain Lion 10 8 中启动的 Android Studio 项目时遇到问题 现在尝试在 Mavericks 10 9 中运行 但是当我打开项目时 Gradle 失败并出现以下错误 Gradle SimpleTi
  • 选择数据框中按组第一次出现的所有行(包括第一次出现)

    我一直在摸不着头脑不知道该怎么做 我正在重新组织一些不平衡的面板数据 堆叠 长格式 我需要按组 id 保留所有行 包括变量 indc D 值的第一次出现 并且还保留尚未发生这种情况的组的行 我唯一希望丢弃的行是每组中存在第二个或更多指示变量
  • Java库解析mysql异常消息

    java中是否有任何库可以解析mySQL异常并返回行 列或表信息 这样我就可以使用行或列名称来获取并显示更合适的消息 我想包含列或行信息的自定义异常消息 目前 这就是我提取信息的方式 通过使用处理一些异常情况mysql错误代码 https
  • Pandas 中滚动最大值的 Numpy 版本

    TL DR 我的问题是如何改进我的函数以超越 pandas 自己的移动最大函数 背景资料 因此 我正在使用大量移动平均线 移动最大值和移动最小值等 到目前为止 我发现的唯一类似移动窗口的功能是pandas rolling 方法 https
  • Asp.Net MVC 5 身份创建数据库管理界面

    我正在为一家小公司开发一个新的 asp net mvc 5 应用程序 并试图弄清楚如何使用新的 asp net 身份系统创建会员数据库 我认为可能有一个管理界面 我可以使用它来创建数据库并允许我添加一些用户 角色 是否有用于此任务的管理界面
  • 如何在MySQL中使用JPA自动生成区分大小写的列

    如何命令 JPA 在创建时默认将文本内容的 MySQL 数据库列设置为区分大小写 The Column http download oracle com docs cd E17410 01 javaee 6 api javax persis
  • Io 语言:异常:对象不响应“URL”

    今天我正在练习 七周七种语言 的 Io 示例 示例代码 futureResult URL with http google com fetch writeln Do something immediately while fetch goe
  • 无法使用 OpenOCD 找到脚本文件

    我正在尝试按照本教程将 OpenOCD 与我的 ST 发现板一起使用 https japaric github io discovery README html https japaric github io discovery READM
  • 使用 dll 的接口安全吗

    当我想导出 DLL 中的类时 从接口派生它并通过导出函数返回该接口是否是正确的方法 exported dll function which is used in the exe function MyClass Create IMyClas
  • 占用 Vaadin Gridlayout 中的可用空间,但考虑换行

    我使用 Vaadin 的 GridLayout 来可视化一些标题和值标签 GridLayout 有 2 列和几行 标题标签位于左侧 其关联的值标签位于右侧 我希望第一列消耗尽可能少的空间 第二列应该占据浏览器窗口的所有重新挖掘空间 如果值标
  • 使用 IF 条件和存储在变量中的比较运算符

    我有一套涉及比较运算符的规则 我想根据规则中存储的比较运算符的值执行一些任务 我正在按照以下方式进行操作 但它不起作用 检查以下代码 if benRules i amountCriteria Greater than comparison
  • XDocument.Save() 时出现内存异常

    我正在尝试将 XDcoument 保存到没有足够可用内存空间的拇指驱动器 这是应用程序的特殊测试条件 虽然应用程序给出了如下所示的异常 但我无法在 XDocument Save filePath 周围的 try catch 块中得到该异常
  • 如何在 AngularJS 中从我的应用程序配置中设置 $httpProvider 默认标头?

    我正在尝试设置我的 httpProvider defaults headers common X CSRF Token cookie auth token 在我的应用程序的 config 部分中 但我似乎还无法访问文档 cookie 有没有
  • 相当于Windows窗体中的canvas

    我正在创建一个简单的应用程序来显示多个图像 一个在另一个下面 在 WPF 中 我使用相当于图像数量的画布数量 并将这些画布添加到主画布中 并使用Image在每个画布上进行控制 我上传了图像 看起来不错 现在 我正在尝试在 Windows 窗
  • PHP连接Hotmail发送邮件?

    目前我正在尝试使用 PHPmailer 发送电子邮件 这是下面的代码
  • 如何在达到一定长度后分割字符串? [复制]

    这个问题在这里已经有答案了 我想在一定长度后分割字符串 假设我们有一串 消息 Who Framed Roger Rabbit 像这样分割 Who Framed Roger Rab bit 我想在 message 变量超过 10 时进行拆分
  • 如何将嵌套字典的所有值转换为字符串?

    我正在编写一个 python 应用程序 其中有一个可以嵌套到任何级别的变量字典 任何级别中的键可以是 int 或 string 但我想将所有级别的所有键和值转换为字符串 字典的嵌套方式是可变的 这使得它有点复杂 col1 0 0 1 8 2