python读取文档列表数据为列表并统计某一项数据制成邻接矩阵

python读取文档列表数据为列表并统计某一项数据制成邻接矩阵


import json



from pandas import  DataFrame
import json
import numpy as np

file = open('db.txt', encoding='UTF-8')
js = file.read()
dic = json.loads(js)
#print(dic)
file.close()



authors=[]
authors_id={}
empty=[]
author_name={}
maxtrix = np.zeros((100, 100))
#第一个循环代表遍历每一篇论文
for leng_dic in range(len(dic)):
    author_dic=dic[leng_dic].get('authors', [])
    if author_dic is None:
        empty.append(leng_dic)
    else:


        author_now = []


        for i in range( len(author_dic)):

            author_name[author_dic[i]['_id']] = author_dic[i]['name']

            ##给每一个作者制定编号
            if author_dic[i]['_id'] not in authors:
                authors.append(author_dic[i]['_id'])
                authors_id[author_dic[i]['_id']]=len(authors)
                #print(authors_id)
            else:
                authors_id[author_dic[i]['_id']]=authors_id[author_dic[i]['_id']]
            author_now.append(author_dic[i]['_id'])
            ##依据编号,给当前遍历的论文作者制定邻接矩阵
        for author_id_now in  author_now:
            for author_id_now1 in author_now:
                a=authors_id[author_id_now]
                b=authors_id[author_id_now1]
                maxtrix[a][b]=maxtrix[a ][b ]+1
                maxtrix[b][a] = maxtrix[b][a] + 1




print(maxtrix)

     
data_frame = DataFrame(data=maxtrix)
data_frame.to_csv('maxtrix.csv')
print(authors_id)
print(author_name)
print(len(authors_id))
print(len(author_name))
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值