python将知识图谱的节点关系(CSV或其他格式)转换成Echarts所需的json格式
2021/12/28 14:37:13
本文主要是介绍python将知识图谱的节点关系(CSV或其他格式)转换成Echarts所需的json格式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
python将知识图谱的节点关系(CSV或其他格式)转换成Echarts所需的json格式
前言:
1. 此代码以如下(CSV)格式的数据为例,
故事 | 时间 | 地点 | 人物 |
---|---|---|---|
xx | 2020 | 安徽合肥 | 小戈 |
并处理保存为如
{"data": [{"name": "xx"}, {"name": "2020"}, {"name": "\u5b89\u5fbd\u5408\u80a5"}, {"name": "\u5c0f\u6208"}], "links": [{"source": "2020", "target": "2020", "name": "\u65f6\u95f4"}, {"source": "2020", "target": "\u5b89\u5fbd\u5408\u80a5", "name": "\u5730\u70b9"}, {"source": "2020", "target": "\u5c0f\u6208", "name": "\u4eba\u7269"}]}
的JSON文件(中文默认为unicode编码)
2. Echarts得到数据并引用时,如下直接放入即可
, data: jsonData.data, links: jsonData.links
3. 得学会举一反三
import csv import json # 开始读取数据 # 开始转换为json格式数据 data_json = "{\"data\": [" links = ", \"links\": [" data = [] relationship = ['时间', '地点', '人物'] # 使用test.csv,这只是所有数据的一部分 with open('test.csv', encoding="utf-8") as csvfile: csv_reader = csv.reader(csvfile) # 使用csv.reader读取csvfile中的文件 data_header = next(csv_reader) # 读取第一行每一列的标题 # print(data_header) for row in csv_reader: # 将csv 文件中的数据保存到data_data中 for i in range(len(data_header)): if row[i] not in data and row[i] != '': data.append(row[i]) data_json = data_json + '{\"name\":"' + row[i] + '"},' # 至此,我们已经获得了所有节点 for index, relation in enumerate(relationship): links = links + '{\"source\":"' + row[1] + '",\"target\":"' + row[index+1] + '\",\"name\":\"' + relation + '\"},' # 至此,我们已经获得了所有关系 # print(len(data)) data_json = data_json.rstrip(',') data_json += "]" # print(data_json) # 至此,节点已经转换完成,接下来添加关系 links = links.rstrip(',') links += "]}" # print(links) data_json += links # print(data_json) # 至此,我们已经获得了data_json数据 # 开始写入json文件 new_data = json.loads(data_json, strict=False) # print(new_data) with open("test_result.json", "w", ) as f: json.dump(new_data, f) # 至此我们已经获得了json数据,嫌格式不好看的话可以去网上自己格式化一下
这篇关于python将知识图谱的节点关系(CSV或其他格式)转换成Echarts所需的json格式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25Vue3学习:从入门到初步掌握
- 2024-12-25Vue3入门:新手必读的简单教程
- 2024-12-23【JS逆向百例】爱疯官网登录逆向分析
- 2024-12-21Vue3教程:新手入门到实践应用
- 2024-12-21VueRouter4教程:从入门到实践
- 2024-12-20Vue3项目实战:从入门到上手
- 2024-12-20Vue3项目实战:新手入门教程
- 2024-12-20VueRouter4项目实战:新手入门教程
- 2024-12-20如何实现JDBC和jsp的关系?-icode9专业技术文章分享
- 2024-12-20Vue项目中实现TagsView标签栏导航的简单教程