Как извлечь изменяющийся текст из списка в Python?

#python #pdf #text-extraction

#python #PDF #извлечение текста

Вопрос:

Я хотел бы попросить о некоторой помощи, поскольку я новичок — я делаю проект, в котором мне нужно извлечь текст из PDF и сохранить его в таблице (Excel). Хотя я могу извлечь и преобразовать текст в список с помощью pdfplumber, я не могу извлечь нужную мне информацию, поскольку она меняется каждый раз. Пример:

 ['x00', 'x01', '¼', 'Proof', 'of', 'Proposition', '11.', 'Proposition', '3', 'gives:', 'm', 'ffiffiffiffiffiffiffiffiffiffiffiffi', 'ð', 'Þ', 'i', 'A1', 'x1bsi', '2', 'picix14pi', '¼A1', 'x1bmri2i2', 'icix14pi', '¼1x00mJi2i', ';', 'Ji', ':¼', 'x1bri', '2', 'icix14pi.', 'So', 'm', '¼x00Jiþ', 'Ji2þ4Ji,whichincreases', 'in', 'J.', 'i', '2', 'i', 'New', 'YorkUniversity']
  

Мне нужно сохранить этот «Новый ваш университет» в моей таблице. Но иногда данных больше, как в этом примере.

 ['cohort', 'level', 'at', 'www.equality-of-opportunity.org)', 'tostudy', 'the', 'effectsoflocal', 'policy', 'changes.', 'HarvardUniversity', 'andNBER', 'HarvardUniversity', 'andNBER', 'University', 'of', 'California,', 'Berkeley,andNBER', 'University', 'of', 'California,', 'Berkeley,andNBER', 'This', 'content', 'downloaded', 'from']
  

Как и здесь, мне нужно было бы извлечь дважды Гарвардский университет и дважды Университет Беркли.

Какой был бы лучший способ сделать это? Это могло бы быть нормально, если бы был один университет, но я изо всех сил пытаюсь продолжить работу с несколькими записями.

Большое вам спасибо за любые ваши предложения! 🙂

Комментарии:

1. As here I would need to extract twice Harvard University and twice University of Berkeley. Под этим вы подразумеваете, что хотите удалить дубликаты?

2. это сложная проблема. Вы могли бы использовать for -loop для проверки каждого элемента в списке if "University" in word , но таким образом вы можете получить только YorkUniversity , HarvardUniversity и University , но не New York University nor University of California — потому что это создает большую проблему.

3. @SeyiDaniel Привет! Поскольку это статья, мне нужно будет извлечь университеты авторов — в данном случае авторов 4, следовательно, необходимы 4 университета. Иногда есть один автор, иногда два и более.

4. @furas Привет! Это очень верно. Я подумал попробовать другие программы для чтения PDF-файлов и посмотреть результат, может быть, он будет извлекаться по-другому. Другой идеей может быть проверка баз данных университетов на соответствие слов — не уверен, что это поможет…

5. я думаю, что более простым способом было бы объединить все строки в списке в одну строку и использовать lower() для получения строки с ie. ‘… universityofcalifornia …’ или '...newyorkuniversity...' и тогда вы могли бы использовать какой-нибудь список / базу данных университетов для проверки if "universityofcalifornia" in text или text.count("universityofcalifornia")