【发布时间】:2017-07-17 09:40:21
【问题描述】:
我对 Python 比较陌生,并且遇到以下问题:
我有一个包含大约 52,000 个字典的列表,其中包含 PDF 上的元数据(单独存储)。现在,我想将其中的 5,000 个 PDF 与其对应的元数据字典进行匹配,但我不知道该怎么做。
元数据:
[{'Title': 'This is the title', 'Author': 'John A.', 'Code': '8372', ...}, {'Title': 'This is another title', 'Author': 'Peter B.', 'Code': '5837_c', ...}, ...]
PDF 文件名对应于“代码”值(即文件名是 5346、8372、3475_c、0294、5837_c 等,总是三个、四个或五个数字或三个、四个或五个数字,以_C)。有没有一种方法可以将 PDF 与元数据字典列表中的正确字典匹配,使用 PDF 的文件名进行匹配?
也非常欢迎其他解决方案!
编辑:我的目标是创建一个 Textacy 语料库,其中每个条目都是一个 Textacy Doc(即一个 PDF 的内容)及其对应的 Textacy 元数据(即 PDF 元数据)。
textacy_corpus = textacy.Corpus(u'en', texts=pdfs_list, metadatas=metadata_list)
来自 Textacy 的文档:
"[元数据] 流必须与texts 或docs 完全对齐,否则元数据将被错误分配。更具体地说,metadatas 中的第一项将分配给texts 中的第一项或docs,以此类推。”
这就是我想将 PDF 与正确的元数据匹配的原因。
【问题讨论】:
-
您是如何存储文件名的?它们是否包含在列表中?
-
不,我只阅读了 PDF,因为我想稍后对文本进行分析。问题是我想创建一个包含 PDF 及其元数据的 Textacy 语料库,然后才执行分析。
-
不确定我们能为您做什么。您所说的“将 PDF 与字典匹配” 是什么意思?像文件路径一样?代码的结果应该是什么?
-
您在第一个示例中拥有的是一个字典列表。根据您的解释,我了解到每个字典的“代码”键都包含一个值或一个值列表。这些值中的每一个都可以作为实际文件名在某处找到。您的问题是如何在该特定位置搜索每个文件名?
标签: python dictionary pdf spacy textacy