RuntimeError: Can not find Ghostscript DLL in registry

今天想用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 已安装

但是仍然报错,于是我还是根据网络上的提示去官网下载一个:

Ghostscript : Downloads

最后终于可以运行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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值