Python:如何将字典值与文件名匹配?

时间:2017-07-17 09:40:22

标签: python dictionary pdf spacy textacy

我对Python比较陌生并且正在努力解决以下问题:

我有一个大约52,000个字典的列表,其中包含PDF格式的元数据(单独存储)。现在,我想将这些PDF中的5,000个与相应的元数据词典相匹配,但我不确定如何执行此操作。

元数据:

[{'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 Corpus,其中每个条目都是Textacy Doc(即一个PDF的内容)及其相应的Textacy Metadata(即PDF元数据)。

textacy_corpus = textacy.Corpus(u'en', texts=pdfs_list, metadatas=metadata_list)

来自Textacy的文档: " [元数据]流必须与textsdocs完全一致,否则元数据将被错误分配。更具体地说,metadatas中的第一项将分配到textsdocs中的第一项,依此类推。" 这就是我想将PDF与正确的元数据相匹配的原因。

1 个答案:

答案 0 :(得分:0)

dict((x['Code'],x) for x in <YOUR_LIST>)