将引用矩阵转换成vosviewer可识别的txt格式并作图

一、转换数据格式

输入数据格式如下:
将引用矩阵转换成vosviewer可识别的txt格式并作图_第1张图片
代码

import pandas as pd
import csv

#读csv文件
def readCsvFile(file_name):
	birth_data = []
	with open(file_name,encoding = 'utf-8') as csvfile:
		csv_reader = csv.reader(csvfile)  # 使用csv.reader读取csvfile中的文件
		birth_header = next(csv_reader)  # 读取第一行每一列的标题
		for row in csv_reader:  # 将csv 文件中的数据保存到birth_data中
			birth_data.append(row)
	return birth_data
# 保存txt
def saveDataTxt(data,out_file):
	with open(out_file, "w") as f:
		for i in data:
			for j in i:
				f.write(str(j)+"\t")
			f.write("\n")
# 保存成多行3列的map格式
def saveMapData(data,out_file):
	with open(out_file, "w") as f:
		for i in data:
			f.write(str(i)+"\t"+data[i]+"\n")


data = readCsvFile('test1.csv')
d = []
r = {}
index = 1
for i in range(len(data)):
	r[data[i][0]] = 'Subject'+str(index)
	index = index +1
saveMapData(r,'vos版.txt')
for i in range(len(data)):# i从0开始
	for j in range(len(data[i])-1):# j从0开始
		if data[i][j+1] == '0':
			continue
		d.append([r[data[i][0]],r[data[j][0]],data[i][j+1]])


saveDataTxt(d,'vos版.txt')

输出数据格式如下:
将引用矩阵转换成vosviewer可识别的txt格式并作图_第2张图片
此步骤结束后,发现,每一行 结束后多了一个制表符“\t”,因此用notepad++,将每一行后面的制表符给替换掉

将引用矩阵转换成vosviewer可识别的txt格式并作图_第3张图片
保存后即可在vosviewer中使用

二、vosviewer作图

step1
将引用矩阵转换成vosviewer可识别的txt格式并作图_第4张图片
step2
将引用矩阵转换成vosviewer可识别的txt格式并作图_第5张图片
结果如下
将引用矩阵转换成vosviewer可识别的txt格式并作图_第6张图片
注:vosviewer安装教程如下:

https://blog.csdn.net/weixin_42613298/article/details/90084364

你可能感兴趣的:(python)