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')
输出数据格式如下:
此步骤结束后,发现,每一行 结束后多了一个制表符“\t”,因此用notepad++,将每一行后面的制表符给替换掉
step1
step2
结果如下
注:vosviewer安装教程如下:
https://blog.csdn.net/weixin_42613298/article/details/90084364