Microsoft Academic Graph在Open Academic上的数据是以json格式存储的,但是下载下的文件是txt文件。是将这些数据将json数据处理,还是当做文本数据用split一点点处理,就是一个需要考虑的问题。
因为之前没有处理过json格式的数据,所以直接尝试了split。事实证明处理起来太麻烦了,于是辗转搜了搜网上的资料,觉得这篇知乎专栏讲的很好:https://zhuanlan.zhihu.com/p/27917664 。于是开始按照json格式读取数据:
import json
with open('J:\论文合作网络数据\MAG data\mag_papers_0\mag_papers_0.txt', 'r', encoding='utf-8') as f:
for line in f:
d = json.loads(line)
y = d['year']
print(y)
要读取什么字段的数据真的很方便。在读取文件的时候,我特别考虑了文件过大可能导致的内存溢出问题,在with下加了一个for循环,至于为什么可以防止内存溢出,可以参考我的这篇博客:https://blog.csdn.net/u010658028/article/details/80880598