用pdfplumber爬取pdf里面的表格,结果没报错,但是出现了很多的None,该怎么办

img

用pdfplumber爬取pdf里面的表格,结果没报错,但是出现了很多的none,用replace替换‘\n’的时候,还会报出'NoneType' object has no attribute 'replace',该用什么方法可以看不到那些None,然后replace那些换行符


import pdfplumber
import pandas as pd
import re
pdf = pdfplumber.open(r"C:\Users\第二帅\Desktop\丁文景\学习\数据挖掘\PDF\天润工业:关于使用闲置自有资金购买银行理财产品的进展公告.PDF")
pages = pdf.pages
text_all = []
for page in pages:
    text = page.extract_text()
    text_all.append(text)
text_all = ''.join(text_all)
print(text_all)
pdf.close()

page = pages[2]
tables = page.extract_tables()
table = tables[0]
for i in range(len(table)):
    for j in range(len(table[i])):
        table[i][j] = table[i][j].replace('\n', '')

df = pd.DataFrame(table[1:],columns=table[0])
pd.set_option('display.max_columns',None)
print(df)

img

img

img

img

你加个判断,如

if table[i][j] != None:
  pass

题主的问题可以通过条件判断筛选去除报错,第20行写成:

table[i][j] = table[i][j].replace('\n', '') if table[i][j] is not None else ''

NoneType 对象无replace属性,None是Python中的对象,也是关键词,表示空,缺失值。
参考这里解释:
https://cloud.tencent.com/developer/article/1649788