我正在尝试通过 Scopus Abstract Retrieval 检索摘要。我有一个包含 3590 个 EID 的文件。
import pandas as pd
import numpy as np
file = pd.read_excel(r'C:\Users\Amanda\Desktop\Superset.xlsx', sheet_name='Sheet1')
from pybliometrics.scopus import AbstractRetrieval
for i, row in file.iterrows():
q = row['EID']
ab = AbstractRetrieval(q,view='META_ABS')
file.at[i,"Abstract"] = ab.description
print(str(i) + ' ' + ab.description)
print(str(''))
为了响应值错误,我更改了代码。
from pybliometrics.scopus import AbstractRetrieval
error_index_valueerror = {}
for i, row in file.iterrows():
q = row['EID']
try:
ab = AbstractRetrieval(q,view='META_ABS')
file.at[i,"Abstract"] = ab.description
print(str(i) + ' ' + ab.description)
print(str(''))
except ValueError:
print(f"{i} Value Error")
error_index_valueerror[i] = row['Title']
continue
当我用 10-15 个条目试用此代码时,它运行良好,我检索了所有摘要。但是,当我运行具有 3590 个 EID 的实际文件时,输出将是一系列 10-12 个值错误,然后出现类型错误(“只能将 str(而不是“NoneType”)连接到 str 表面。
我不确定如何解决这个问题。任何关于此事的建议将不胜感激!
(旁注:当我更改 view='FULL' (按照文档的建议)时,我仍然得到相同的结果。)