今天想用camelot 提取PDF文档中的表格,但是遇到以上的报错,根据提示一步步地去排查,中间还是费了不少时间的:
第一、检查系统里是否已经安装Ghostscript,在Python里输入以代码:
import subprocess
def check_ghostscript_installed():
try:
# 尝试运行ghostscript命令,如果已安装,将不会抛出异常
subprocess.run(["gs", "-v"], check=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print("Ghostscript 已安装")
except subprocess.CalledProcessError as e:
# 如果未安装ghostscript,将抛出异常
print("Ghostscript 未安装")check_ghostscript_installed()
结果为:Ghostscript 已安装
但是仍然报错,于是我还是根据网络上的提示去官网下载一个:
最后终于可以运行cameot
def pdf_table_df(pdf_f,pages_r):
# 使用camelot读取PDF表格
tables = camelot.read_pdf(pdf_f,pages=pages_r)
# 将表格信息转换为DataFrame格式
dfs = []
for table in tables:
df = table.df
df = pd.concat([df,pd.DataFrame([[''] * df.shape[1]], columns=df.columns)], ignore_index=True)
dfs.append(df)
df_c = pd.concat(dfs)
return df_c