1

Тема: Простий випадок з Regex. Другий тиждень пітонію.

Пані та пацанове, ситуація наступна. Я намагаюсь написати дуже простий скрейпер, який скануватиме текстовий файл за принципом:

bool(re.search ("науковий термін| синонім", STRING\nc, "i"))


RE "i" - щоб ігнорувати великі літери. Статті англійською, тому відмінки і т.д. не мають значення.
\nc - щоб шукати через весь документ
bool - Щоби у випадку True була інумерація в колонку датафрейму (Я просто рахую кількість термінів у тексті.

STRING - Це моя проблема, у всіх навчальних відео які я бачив, це один з параметрів, але мені він по суті не потрібен, що з ним робити?

Ось що ми маємо зараз, я через табулу конвертував з pdf у текст документ який хочу сканувати (виділений текст)


https://i.imgur.com/gAXApA9.jpg

Як почати це робити? Написати bool(re.search ("науковий термін| синонім", STRING\nc, "i")) як функцію і застосувати її до об'єкта? І до якого file1 чи df. Це мій другий тиждень програмування, тому я не знаю багатьох очевидних речей. Буду вдячний за поради.

file1='nihms290696.pdf'
df=tabula.read_pdf("Data/nihms290696.pdf", pages='all')

2 Востаннє редагувалося koala (05.11.2021 16:00:12)

Re: Простий випадок з Regex. Другий тиждень пітонію.

Документацію читати не пробували?

І взагалі

ви не з того почали - вам підручник треба, бо ви зараз намагаєтеся двигун на велосипед причепити, але на триколісному поки що непевно їздите.

Другий параметр - той, який STRING - це текст, у якому треба шукати. Якщо він вам не потрібен - ну вибачте.

Ну і, наскільки я бачу, tabula взагалі не для тексту, а для таблиць, і витягає їх у pandas. Pandas вміє з регулярками працювати, але у зворотній бік - треба не re.search викликати, а робити re.compile і викликати функції pandas (extract, contains і ще деякі) зі скомпільованим об'єктом.

Подякували: z-score1

3

Re: Простий випадок з Regex. Другий тиждень пітонію.

Раджу читати безкоштовний підручник українською на вікіпідручнику.

Подякували: z-score, koala, leofun01, Jarko4

4

Re: Простий випадок з Regex. Другий тиждень пітонію.

koala написав:

Документацію читати не пробували?

І взагалі

ви не з того почали - вам підручник треба, бо ви зараз намагаєтеся двигун на велосипед причепити, але на триколісному поки що непевно їздите.

Другий параметр - той, який STRING - це текст, у якому треба шукати. Якщо він вам не потрібен - ну вибачте.

Ну і, наскільки я бачу, tabula взагалі не для тексту, а для таблиць, і витягає їх у pandas. Pandas вміє з регулярками працювати, але у зворотній бік - треба не re.search викликати, а робити re.compile і викликати функції pandas (extract, contains і ще деякі) зі скомпільованим об'єктом.

Дякую за відповідь. Панди потрібні для таблиці у яку я буду збирати дані. Чи існує спосіб динамічно вставляти на місце STRING текст, якщо копіпастити кожен раз не варіант?

5

Re: Простий випадок з Regex. Другий тиждень пітонію.

Так, це зветься "змінна". Будь ласка, прочитайте підручник.

Подякували: z-score1