gpt4 book ai didi

python - 将 bool 字符串值映射到 JSON 中的 true/false

转载 作者:太空宇宙 更新时间:2023-11-03 10:22:24 26 4
gpt4 key购买 nike

我正在将 CSV 文件转换为 JSON,如下所示:

import os
import csv
import json

with open(args.infile, encoding="utf-8") as csv_file:
csv_rows = list(csv.DictReader(csv_file))

with open(args.outfile, "w", encoding="utf-8") as json_file:
json.dump(csv_rows, json_file, ensure_ascii=False, indent=2)

CSV 文件包含一个列,该列可以将值 "true""false" 作为字符串。这些应映射到 JSON 作为 truefalse(not 在 Python 风格中为 True错误)。

有我可以使用的内置函数吗?

最佳答案

我认为最简单的方法是预处理 csv 文件的每一行,然后将其传递给 json.dump() 以将其中包含这些名称的字符串映射到 Python bool 值 - 这json.dump() 将更改为您想要的 JSON bool 值类型。这就是我的意思:

import os
import csv
import json

with open(args.infile, newline='', encoding="utf-8") as csv_file:
csv_rows = [[True if row[field] == 'true' else
False if row[field] == 'false' else
row[field] for field in row] for row in csv.DictReader(csv_file)]

with open(args.outfile, "w", encoding="utf-8") as json_file:
json.dump(csv_rows, json_file, ensure_ascii=False, indent=2)

CSV 输入示例:

Field Name1,Field Name2,Field Name3,Field Name4,Field Name5
1,2,true,3,4
5,6,false,7,8
9,10,non-bool,11,12

示例 JSON 输出:

[
[
"1",
"2",
true,
"3",
"4"
],
[
"5",
"6",
false,
"7",
"8"
],
[
"9",
"10",
"non-bool",
"11",
"12"
]
]

关于python - 将 bool 字符串值映射到 JSON 中的 true/false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49632244/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com