0

我正在尝试在 Python3.7 环境中的 AWS Lambda 上运行 tabula-py。代码非常简单:

import tabula

def main(event, context):
    try:
        print(event['Url'])
        df = tabula.read_pdf(event['Url'])
        print(str(df))
        return {
        "StatusCode":200,
        "ResponseCode":0,
        "ResponseMessage": str(df)
    }
    except Exception as e:
        print('exception = %r' % e)
        return {
        "ResponseCode":1,
        "ErrorMessage": str(e)
    }

如您所见,只有一行真正的代码具有 tabula.read_pdf()。我没有将文件写入任何地方,但我遇到了异常exception = OSError(30, 'Read-only file system')

仅供参考,表格详细信息可在此处获得

以下是我已经尝试过但没有奏效的方法:

  1. 验证 url 是否被正确读取。还通过代码中的 harc 编码链接进行了尝试。
  2. 在 Google、Stackoverflow & Co. 上进行检查,但没有找到可以解决此问题的方法。
  3. __pycache__在上传之前从 ZIP 中删除目录以更新代码。还确保 lambda 部署包中没有特定于操作系统的本地目录。

任何帮助将不胜感激。

4

1 回答 1

0

tabula 正在写入 os,而您现在可以尝试不同的 pdf table scrap 包camelot

于 2020-02-25T10:31:11.310 回答