我正试图在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')
的异常
仅供参考,在这里提供了表格详细信息
以下是我已经尝试过但没有成功的:
- 验证url是否正确读取。代码中的harc编码链接也尝试过
- 检查谷歌,堆栈溢出&但没有找到解决这个问题的方法
- 在上传
__pycache__
目录以更新代码之前,已将其从ZIP中删除。还确保lambda部署包中没有任何特定于操作系统的本地目录
如有任何帮助,我们将不胜感激。
tabula正在向os写入,而您现在可以尝试不同的pdf表格废料包camelot。