0

我无法从 PDF 中提取 MCC 详细信息。我可以用我的代码提取其他数据。

import tabula.io as tb
from tabula.io import read_pdf
pdf_path = "IR21_SVNMT_Telekom Slovenije d.d._20210506142456.pdf"
for df in df_list:
    if 'MSRN Number Range(s)' in df.columns:
         df = df.drop(df.index[0])
         df.columns = df.columns.str.replace('\r', '')
         df.columns = df.columns.str.replace(' ', '')
         df.columns = df.columns.str.replace('Unnamed:0', 'CountryCode(CC)')
         df.columns = df.columns.str.replace('Unnamed:1', 'NationalDestinationCode(NDC)')
         df.columns = df.columns.str.replace('Unnamed:2', 'SNRangeStart')
         df.columns = df.columns.str.replace('Unnamed:3', 'SNRangeStop')
         break
msrn_table = (df[['CountryCode(CC)','NationalDestinationCode(NDC)','SNRangeStart','SNRangeStop']])
print (msrn_table)

我试图检索“移动国家代码(MCC)”详细信息的逻辑相同。但是 Pandas 数据框显示的是不同的数据,而不是 PDF 中的数据。

for df in df_list:
    if 'Mobile Country Code (MCC)' in df.columns:
        break
print (df)

熊猫输出如下: pandas_output

pdf文件中的实际内容是: 实际_pdf

4

1 回答 1

0

此代码有效

import pdfplumber
import re
pattern =re.compile(r'Mobile Network Code \(MNC\)[\r\n]+([^\r\n]+)')
#pattern =re.compile(r'Mobile\sNetwork\sCode\s\(MNC\)')
pdf = pdfplumber.open(pdf_path)
n = len(pdf.pages)
final = ""
for page in range(n):
    data = pdf.pages[page].extract_text()
    final = final + "\n" + data
mcc_mnc=" "
matches=pattern.findall(final)
mcc_mnc=mcc_mnc.join(matches)
mcc = mcc_mnc.split(" ")
actual_mcc =mcc[0]
actual_mnc=mcc[1]
print (actual_mcc)
print (actual_mnc)
于 2021-12-10T16:10:32.153 回答