为了账号安全,请及时绑定邮箱和手机立即绑定

TypeError: {'name:busi,group:1'} 在 python 中从头开始构建

TypeError: {'name:busi,group:1'} 在 python 中从头开始构建

慕无忌1623718 2021-10-26 16:10:47
我们如何通过使用csv数据或作为列表提供的数据在python中动态创建json文件data.csv 看起来像这样busi,bizthank,pumpthank,suchthank,merri它显示了图中节点之间的链接/边。我正在尝试构建节点和数组的 json,但出现 json 序列化错误。nodes = []nodes_dict = {}counter = 0edges = open(edges_file)    for line in edges:        line = line.replace("\n","")        source =  line.split(",")[0]        target = line.split(",")[1]        if source not in nodes_dict:            node_arr = {"name:" + source  + "," + "group:1"}            nodes.append(node_arr)            nodes_dict[source] = counter            counter += 1        if target not in nodes_dict:            node_arr = {"name:"+ target + "," + "group:1"}            nodes.append(node_arr)            nodes_dict[target] = counter            counter += 1 json.dumps(nodes,outputfile)但我收到此错误类型错误:{'name:busi,group:1'} 不是 JSON 可序列化的我想要的输出 "nodes":[    {"name":"Myriel","group":1},        {"name":"Napoleon","group":1},{"name":"Mme.Hucheloup","group":8}],"links":            [{"source":1,"target":0,"value":1},{"source":2,"target":0,"value":8},                {"source":3,"target":0,"value":10},{"source":3,"target":2,"value":6}}}
查看完整描述

1 回答

?
开满天机

TA贡献1786条经验 获得超12个赞

你正在构建你的 dict 错误。


尝试这样的事情


nodes = []

nodes_dict = {}

counter = 0

edges = open(edges_file)

    for line in edges:

        line = line.replace("\n","")

        source =  line.split(",")[0]

        target = line.split(",")[1]

        if source not in nodes_dict:

            node_arr = dict(

                name=source,

                group=1

            )

            nodes.append(node_arr)

            nodes_dict[source] = counter

            counter += 1


        if target not in nodes_dict:

            node_arr = dict(

                name=target,

                group=1

            )

            nodes.append(node_arr)

            nodes_dict[target] = counter

            counter += 1

 json.dumps(nodes,outputfile)


查看完整回答
反对 回复 2021-10-26
  • 1 回答
  • 0 关注
  • 199 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信