关于Pybliometrics与VOS Viewer兼容及列名匹配的技术咨询
Pybliometrics与VOS Viewer兼容方案
pybliometrics本身没有内置适配VOS Viewer的功能,但完全可以通过调整数据列名和格式实现兼容——问题核心确实是两者列名不匹配,VOS Viewer只认Scopus手动导出的标准列名格式。
解决步骤如下:
- 先导出一份Scopus手动查询的CSV,对照里面的列名(比如合著者分析需要的
Authors、Author(s) ID、Title、Year等),整理出pybliometrics字段到标准列名的映射关系。 - 用pandas重命名pybliometrics获取的数据列,并调整数据格式(比如作者ID列表转成Scopus用的分号分隔字符串)。
示例代码:
import pandas as pd from pybliometrics.scopus import ScopusSearch # 用pybliometrics获取数据 search = ScopusSearch("YOUR_QUERY") df = search.results.to_df() # 列名映射,根据你手动导出的Scopus CSV调整 column_map = { "author_names": "Authors", "author_ids": "Author(s) ID", "title": "Title", "coverDate": "Year", "source_title": "Source title", # 补充其他需要的字段映射 } # 重命名列 df.rename(columns=column_map, inplace=True) # 处理作者ID格式:把列表转为分号分隔的字符串 df["Author(s) ID"] = df["Author(s) ID"].apply(lambda x: "; ".join(x) if isinstance(x, list) else x) # 保存为兼容VOS Viewer的CSV df.to_csv("scopus_vos_compatible.csv", index=False)
注意:不同的Scopus导出选项(比如是否包含关键词、机构信息)会导致列名差异,一定要以你手动导出的CSV列名为标准调整映射关系。
内容的提问来源于stack exchange,提问作者Coding_Beginner
相关产品推荐
相关产品推荐

