使用python从csv创建自定义json文件

使用python从csv创建自定义json文件,python,json,pandas,csv,Python,Json,Pandas,Csv,我有一个包含3个字段的csv文件。我想基于表自定义格式创建一个json文件。我想在中使用json文件 我尝试使用pandas作为数据帧,并将数据帧更改为json格式。我看见了。由于json格式不同,这个问题我无法回答。 CSV表格: DISTRICT,MONTH B2,2 A7,5 A1,9 ... 我想用以下格式将表转换为json: [ {'data': {'id': 'B2', 'label': 'B2'}}, {'data': {'id':

我有一个包含3个字段的csv文件。我想基于表自定义格式创建一个json文件。我想在中使用json文件

我尝试使用pandas作为数据帧,并将数据帧更改为json格式。我看见了。由于json格式不同,这个问题我无法回答。 CSV表格:

DISTRICT,MONTH
B2,2
A7,5
A1,9

...
我想用以下格式将表转换为json:

[           {'data': {'id': 'B2', 'label': 'B2'}},
            {'data': {'id': 'A7', 'label': 'A7'}},
            {'data': {'id': 'A1', 'label': 'A1'}},
            {'data': {'id': '2', 'label': '2'}},
            {'data': {'id': '5', 'label': '5'}},
            {'data': {'id': '9', 'label': '9'}},

            {'data': {'source': 'B2', 'target': '2'}},
            {'data': {'source': 'A7', 'target': '5'}},
            {'data': {'source': 'A1', 'target': '9'}}
        ]

这些代码应该可以完成这项工作。如果你对数据做一些奇特的分析,熊猫可能会让事情变得容易一些。我不是一个粉丝(因为它经常让我陷入不必要的技术细节,混合着版本混乱),所以我坚持使用Python内置包

import csv
import json

with open('yourcsv.csv') as csvfile:
    labels = []
    mappings = []
    csvreader = csv.reader(csvfile, delimiter=',')
    # skips your header
    next(csvreader)
    for row in csvreader:
        labels.append({
            'data': {'id': row[0], 'label': row[0]},
            'data': {'id': row[1], 'label': row[1]}
        })
        mappings.append({
            'data': {'source': row[0], 'target': row[1]}
        })

with open('yourjson.json', 'w') as f:
    # indent does the prettify
    json.dump(labels + mappings, f, indent=4)

它看起来像两个字段;到目前为止,你做了什么尝试,但失败了吗?@DavidS,是的。这是两个字段。我尝试将pandas用作数据帧,并将其更改为json文件。该格式与您在问题中发布的CSV不相关,您能否提供有关您正在尝试执行的操作的更多信息?为什么有些ID使用第一列,有些ID使用第二列,目标列是什么,等等…谢谢。我使用你的代码并对其进行更改。它是有效的。您缺少标签。追加({'data':{'id':行[1],'label':行[1]})