Python: как сопоставить значение словаря с именем файла?

Я относительно новичок в Python и борюсь со следующим:

У меня есть список из около 52 000 словарей, содержащих метаданные в PDF (которые хранятся отдельно). Теперь я хочу сопоставить 5000 из этих 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 (т. Е. Содержимое одного PDF-файла) и соответствующие метаданные Textacy (т. Е. Метаданные PDF-файлов).

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

Из документации Textacy: "Поток [метаданных] должен точно соответствовать texts или же docs или метаданные будут назначены неправильно. Конкретнее, первый пункт в metadatas будет назначен на первый элемент в texts или же docs и так далее ". Вот почему я хочу сопоставить PDF-файлы с правильными метаданными.

1 ответ

dict((x['Code'],x) for x in <YOUR_LIST>)
Другие вопросы по тегам