gpt4 book ai didi

python - CSV 到 JSON,从列创建一个数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:55:09 25 4
gpt4 key购买 nike

我有这样的示例 csv 数据:

id,hex1,hex2,hex3,hex4,hex5
388,#442c1c,#927450,#664c31,#22110c,
387,#6a442f,#826349,,,
1733,#4d432e,#75623f,,,
1728,#393e46,#5f4433,#ad7a52,#362c28,#a76042

我想从这个看起来像这样的 csv 创建 JSON 数据:

{
"images":[
{
"colors": [
"#442c1c",
"#2f4f4f",
"#927450",
"#696969",
"#664c31",
"#556b2f"
],
"id": "388"
}
]
}

每一行都应采用第一列 (id) 并创建一个包含该行中的十六进制值的字典/数组(抱歉,不确定正确的术语)。 Python 是我最熟悉的语言,所以我更愿意用它来创建我的 JSON。

谁能建议一些起点?

提前谢谢你。

最佳答案

您可以使用以下基本上是列表理解的内容:

import csv

with open('file.csv', mode='r') as csv_file:
reader = csv.DictReader(csv_file)
next(reader, None) # skip the header
# id,hex1,hex2,hex3,hex4,hex5
images = [{'colors': [row[f'hex{n}'] for n in range(1, 6) if row[f'hex{n}'] != ''], 'id': row["id"]} for row in reader]

d = {'images': images}

d 将包含您想要的字典:

{'images': [{'colors': ['#6a442f', '#826349'], 'id': '387'},
{'colors': ['#4d432e', '#75623f'], 'id': '1733'},
{'colors': ['#393e46', '#5f4433', '#ad7a52', '#362c28', '#a76042'],
'id': '1728'}]}

关于python - CSV 到 JSON,从列创建一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58072352/

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