【问题标题】:Unable to extract MCC details from PDF file无法从 PDF 文件中提取 MCC 详细信息
【发布时间】:2021-12-04 04:50:55
【问题描述】:

我无法从 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 输出如下:

pdf文件中的实际内容是:

【问题讨论】:

    标签: python pandas tabula-py


    【解决方案1】:

    此代码有效

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 2014-10-15
      相关资源
      最近更新 更多