如何解决Python Camelot读取PDF表格时的FileNotFoundError?
解决Camelot读取PDF时的FileNotFoundError问题
你的代码和报错信息如下:
Tables.py :
import camelot space_table = camelot.read_pdf('space.pdf', pages='all', flavor='stream') print(space_table)
运行报错:
FileNotFoundError: [Errno 2] No such file or directory: 'space.pdf'
即便确认文件和脚本同目录仍报错,试试下面这些实用办法:
先确认当前工作目录
运行代码时的工作目录未必是脚本所在的目录,加几行代码打印当前路径:import os print(os.getcwd())如果输出的路径不是你的
Tables.py所在文件夹,要么把space.pdf移到这个路径下,要么改用绝对路径加载文件。改用绝对路径加载PDF
用脚本的绝对路径拼接PDF文件名,这样不管在哪运行脚本都能精准找到文件:import camelot import os # 获取脚本所在的绝对目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 拼接PDF的完整路径 pdf_full_path = os.path.join(script_dir, 'space.pdf') space_table = camelot.read_pdf(pdf_full_path, pages='all', flavor='stream') print(space_table)核对文件名的拼写和大小写
检查PDF文件名是否完全匹配:比如是不是不小心写成了Space.pdf、space.PDF或者spac.pdf?Linux和macOS系统严格区分文件名大小写,Windows虽然不区分,但保持完全一致能避免不必要的问题。手动确认文件位置
打开Tables.py所在的文件夹,直接查看space.pdf是否真的在里面——有时候文件可能被误放到子文件夹,或者被设置为隐藏状态(可以开启显示隐藏文件选项检查)。
内容的提问来源于stack exchange,提问作者Abdallah210
相关产品推荐
相关产品推荐

