首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tabula-py的奇怪行为

tabula-py的奇怪行为
EN

Stack Overflow用户
提问于 2018-09-25 03:55:22
回答 1查看 502关注 0票数 1

我使用的是Python3.5和Anaconda发行版。已安装tabula-py版本1.1.1。当我运行下面这个简单的程序时:

代码语言:javascript
复制
import tabula

df = tabula.read_pdf("sample.pdf", pages=1, encoding="ISO-8859-1")

df.columns = df.iloc[0]

df.drop(0, inplace=True)

我得到以下错误消息:

代码语言:javascript
复制
AttributeError: module 'tabula' has no attribute 'read_pdf'

但是:如果我打开Spyder并在运行代码之前在IPython控制台中首先输入"import tabula“,它就能正常运行。如果我重新启动内核,我会得到相同的错误,直到我关闭并重新打开Spyder。

有什么想法吗?提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-09-25 03:59:25

Spyder在您的控制台和脚本之间有一个共享的名称空间。我回答了与这个问题相反的问题here

在控制台中定义的任何内容都可以在您运行的脚本的名称空间中进行访问。模块导入被缓存在所有脚本中,因此您可以在控制台中导入它一次,然后在所有脚本中无限期地访问它(直到重置内核为止)。

您不应该依赖此行为,因为脚本不能在Spyder之外工作。相反,您应该显式地导入脚本顶部的模块。

在这种情况下,您很可能已经将脚本命名为tabula.py,并且应该将其重命名。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52486476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档