Любая информация о конкретном регулярном выражении для попадания в следующие слова в документе?
Nama Perseroan :PELABUHAN PATIMBAN INTERNASIONAL Nama Singkatan : Nomor SP Data Perseroan:AHU-AH.01.09-0073201 Tanggal SP Data Perseroan:07 November 2022 Jenis Perseroan :SWASTA NASIONAL NPWP Perseroan :413909557014000DATA PERSEROANRESMI DARI DITJEN AHU Jangka Waktu Perseroan :TIDAK TERBATAS Status Perseroan :TERTUTUP Nomor Telepon :0217917553 Jenis Transaksi :PERUBAHAN
Полный текст документа выглядит примерно так, как показано ниже.
PROFIL PERUSAHAAN PT PELABUHAN PATIMBAN INTERNASIONAL Nama :JONATHAN LOH Email :[email protected] Nomor HP :90018240982109381209821093 Tanggal Permohonan :16 November 2022 pukul 16:48:33 Tanggal Pembayaran:22 November 2022 pukul 08:44:38 Tujuan Permohonan:lkasjfasdflksdjflkas jflasjflkasjfalsjflaksjDIMOHONKAN OLEH Waktu Unduh PDF :16 Desember 2022 pukul 13:36:19 Telah diunduh :1 kali INFORMASI BERKAS PDF VERIFIKASI BERKAS PDF 7. Pemberitahuan Perubahan Data Perseroan Jenis Perubahan :1. Pemberitahuan Perubahan Data Perseroan - Direksi dan KomisarisJENIS PERUBAHAN Nama Perseroan :PELABUHAN PATIMBAN INTERNASIONAL Nama Singkatan : Nomor SP Data Perseroan:AHU-AH.01.09-0073201 Tanggal SP Data Perseroan:07 November 2022 Jenis Perseroan :SWASTA NASIONAL NPWP Perseroan:413909557014000DATA PERSEROANRESMI DARI DITJEN AHU Jangka Waktu Perseroan :TIDAK TERBATAS Status Perseroan :TERTUTUP Nomor Telepon:0217917553 Jenis Transaksi :PERUBAHAN Nama Notaris :DEDY SYAMRI, S.H. Kedudukan Notaris :JAKARTA SELATAN Nomor Akta :5 Tanggal Akta :07 November 2022DATA NOTARIS Alamat :Menara Bank Mega, Lantai 24, Jl.Kapten P Tendean Kav. 12-14A RT :002 RW :002 Kode Pos :12790 Kelurahan:MAMPANG PRAPATAN Kecamatan :MAMPANG PRAPATAN Kabupaten :JAKARTA SELATAN Provinsi :DKI JAKARTAKEDUDUKAN PERSEROAN Data KBLI Tahun :2017 NoKode KBLIJudul KBLI Uraian KBLI 152221 AKTIVITAS PELAYANAN KEPELABUHANAN LAUTKelompok ini mencakup kegiatan usaha pelayanan kepelabuhan laut, yang berhubungan dengan angkutan perairan untuk penumpang, hewan atau barang, seperti pengoperasian fasilitas terminal misalnya pelabuhan dan dermaga, operasi penguncian jalur air dan lain-lain, navigasi, pelayaran dan kegiatan berlabuh, jasa penambatan dan jasa pemanduanMAKSUD DAN TUJUAN Klasifikasi SahamHarga Per LembarJumlah Lembar SahamTotal - Rp. 1000 40.000.000 Rp. 40.000.000.000MODAL DASAR Klasifikasi SahamHarga Per LembarJumlah Lembar SahamTotal - Rp. 1000 10.000.000 Rp. 10.000.000.000MODAL DITEMPATKANRESMI DARI DITJEN AHU Rp 10.000.000.000 Dalam bentuk uang.MODAL DISETOR Nama Jabatan AlamatKlasifikasi SahamJumlah Lembar SahamTotal ALIF SASETYO, NIK: 3171060201830005 NPWP: 246383541071000 TTL: Jakarta, 02 Januari 1983DIREKTUR Jalan Maluku Nomor 19- - - ARIEF HERMAWAN, NIK: 1271121011700003 NPWP: 070970173112000 TTL: Bogor, 10 November 1970KOMISARIS BNR Cluster Cendana C 5/19- - - ARLAN SEPTIA ANANDA RASAM, NIK: 3174051209620003 NPWP: 080878200013000 TTL: Jakarta, 12 September 1962KOMISARIS Jalan Bendi IX/125- - - CHAIRAL TANJUNG, NIK: 3171011605660004 NPWP: 070141650093000 TTL: Jakarta, 16 Mei 1966WAKIL KOMISARIS UTAMAJalan Besuki Nomor 9- - - FUAD RIZAL, NIK: 3174010201780008 NPWP: 488337379015000 TTL: Jakarta, 02 Januari 1978DIREKTUR UTAMATebet Barat Dalam- - - Ir. R AGUS HARYOTO PURNOMO, NIK: 3578032408610001 NPWP: 097468813615000 TTL: SLEMAN, 24 Agustus 1961KOMISARIS UTAMARUNGKUT ASRI TIMUR 14/35- - - PT CTCORP INFRASTRUKTUR INDONESIA, Nomor SK :-- Menara Bank Mega, Lantai 24, Jalan Kapten Pierre Tendean Kavling 12-14A- 3.200.000 Rp.3.200.000.000 PT INTERPORT PATIMBAN AGUNG, Nomor SK :-- Graha Mitra Lantai 7, Jalan Jenderal Gatot Subroto Kavling 21- 2.900.000 Rp.2.900.000.000 PT PATIMBAN MAJU BERSAMA, Nomor SK :AHU- 0061318.AH.01.01.TAHUN 2021 Tanggal SK :30 September 2021- Menara MTH Lantai 11, jalan MT Haryono, kavling 23- 2.900.000 Rp. 2.900.000.000 PT TERMINAL PETIKEMAS SURABAYA, Nomor SK :-- Jalan Tanjung Mutiara Nomor 1- 1.000.000 Rp. 1.000.000.000PENGURUS DAN PEMEGANG SAHAM RESMI DARI DITJEN AHU Nama Jabatan AlamatKlasifikasi SahamJumlah Lembar SahamTotal YUKKI NUGRAHAWAN HANAFI, NIK: 3174060211670004 NPWP: 093240992016000 TTL: Jakarta, 02 November 1967KOMISARIS Jalan Cibulan II nomor 15- - - RESMI DARI DITJEN AHU
Я намерен использовать PyPDF2 для извлечения и использую библиотеку re из python для извлечения текста соответствия, как предполагалось. Ниже приведен код, который я пытался реализовать.
import PyPDF2
import re
import pprint
import camelot
pdf_file = 'PDF/File.pdf'
with open(pdf_file, 'rb') as pdf_file:
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
page_nums = pdf_reader.numPages
for page_num in range(page_nums):
page = pdf_reader.getPage(page_num)
text = page.extractText()
string = text
found = re.search('[A-Z]+[A-Z]+$', string)
if found:
print(found.group())
else:
print('Not found')
Привет, спасибо за понимание! Я просто отредактировал и вставил весь текст в документ, чтобы сделать его более понятным. Извините за путаницу.
Но как он форматируется? Вы можете добавить блок кода между двумя ~~~
или указать 4 пробела: meta.stackoverflow.com/questions/251361/…
Извините за медленный ответ, и спасибо за понимание! Я только что обновил, чтобы вы могли увидеть исходное форматирование, которое я получил на своем терминале.
Извините, что спрашиваю в разделе комментариев, но можете ли вы поделиться информацией о том, как регулярное выражение захватывает только имена в одном и том же текстовом файле?
Извиняться не надо :) но боюсь, тут я уже ничем помочь не могу, мне непонятно. Возможно, идея удалить вопрос и задать его снова.
import PyPDF2
import re
class Company: # Filters and extract only company profile within the PDF file
pdf_file = 'PDF/File.pdf'
with open(pdf_file, 'rb') as pdf_file:
pdf_reader = PyPDF2.PdfFileReader(pdf_file)
page_nums = pdf_reader.numPages
for page_num in range(page_nums):
page = pdf_reader.getPage(page_num)
text = page.extractText()
found = re.findall(r'((?:[A-Z][a-z]+\s*)+)\b\s*:\s*(.*?)\s*(?=(?:[A-Z][a-z]+\s*)+:|$)', text)
if found:
print(found)
else:
print('Not found')
Позволяет нам отфильтровать конкретную информацию, указанную в столбце вопроса.
Непонятно, как выглядят ваши реальные данные (пожалуйста, отформатируйте код). Например. если это многострочный ввод, попробуйте что-то вроде ^>? *([^:\n]+)\b *:? *(.*) но если это одна строка становится сложнее, может быть как эта демонстрация.