如何在Refextract上一起运行多个文件

问题描述

我是python的新手,我需要从科学文献中提取参考文献。以下是我正在使用的代码

from refextract import extract_references_from_file

import pandas as pd

references = extract_references_from_file('1503.07589.pdf')

dfref = pd.DataFrame(references)

dfref.to_excel('./refs.xlsx')

我只能使用此命令一次从一个文件提取引用,但我需要一起从多个文件提取引用。因此,请指导我是否可行以及如何实现。非常感谢!

解决方法

docs声称提取的引用作为dict返回。

返回包含提取的引用和统计信息的字典。

这不太准确; 返回了list个中的dict个, 每个参考文献一本字典。

因此,您只需要构建更长的列表即可。

from refextract import extract_references_from_file

higgs_papers = ['1503.07589','2008.05492']
references = []
for paper in higgs_papers:
    references.extend(extract_references_from_file(f'/tmp/{paper}.pdf'))

现在您有一个更大的列表references,可以将其变成一个更大的df


您也许还会发现glob很方便:

import glob

files = glob.glob('/tmp/*.pdf')