可视化学习-从连接数据集提取节点集

目标
从连接数据集(科幻作者及其影响)中提取节点集合
代码

#打开csv文件,调用函数增加两个节点
import csv
nodemap={}                                              #定义空的hashmap

def addNode(name):                                      #添加节点的函数
    if name in nodemap:
        node=nodemap[name]
        node["count"]+=1
    else:
        node ={"nodeid":name,"count":1}
        nodemap[name]=node
    return

with open ("SciFiWriters.txt","r",errors='ignore') as inputfile:
    datareader = csv.reader(inputfile,delimiter="\t")   #限定符为制表符"\t"
    next(datareader,None)    #跳过开头的一行
    for row in datareader:#搜索每一行,增加源节点和目标节点
        addNode(row[0])
        addNode(row[1])

with open("nodes.txt","w",newline="") as nodefile:       #写节点
    formatter=csv.writer(nodefile,delimiter="\t")
    formatter.writerow(["Id","Count"])
    for name in nodemap:
        node=nodemap[name]
        formatter.writerow([node["nodeid"],node["count"],])

遇到的问题
1.运行时出现以下错误

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 0: invalid continuation byte

2.将数据导入Gephi时预览未出现标签而概览有标签,同时节点之间没有边
解决方法
1.读文件时,在open里添加errors=‘ignore’,如下

with open ("SciFiWriters.txt","r",errors='ignore') as inputfile:

2.对于标签问题,是因为在数据集中,Label为空,需要将Id的值再复制粘贴给Label,如下
在这里插入图片描述
对于边没有显示的问题,是我对Gephi还不熟悉,只导入了节点数据,忘记导入边数据集了(尴尬
效果
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值