【发布时间】:2020-06-22 22:35:41
【问题描述】:
我将各种函数存储在一个文件helpers.py 中,我在pandas 和numpy 之后导入该文件。为了确保,我最后导入helpers.py 文件(意思是在调用import pandas as pd、import numpy as np 等之后)
helpers.py 包含包含 pandas 对象(主要是 DataFrames)和方法的函数。
当我从笔记本中的助手调用函数时(我使用 jupyter 实验室),例如 helpers.read_FIL(...),我收到一条错误消息
"name 'pd' is not defined"
然后我将导入语句复制到 helpers.py 文件中。 我不断收到相同的错误消息。
我真的不明白发生了什么,以及为什么在调用两次后仍然没有定义“pd”。是否可以将使用 pandas 的函数存储在单独的文件中,还是应该保留在主程序中?
代码示例:
主笔记本:
import pandas as pd
import helpers
df = helpers.read_FILUC(folder=r"G:\PCN\Data Files 2019\Balances check", file="Full_scope.txt")
helpers.py 的内容:
def read_FILUC(folder, file):
" read a SAP extract file in folder and convert it into a clean dataframe"
df = pd.read_table(os.path.join(folder,file), skiprows=2,encoding='ISO-8859-1', dtype='category')
df = df.drop('Unnamed: 0', axis=1)
return df
收到的错误信息详情:
NameError Traceback (most recent call last)
<ipython-input-2-9cddf05f0214> in <module>
----> 1 df = helpers.read_FILUC(folder=r"G:\PCN\Data Files 2019\Balances check", file="Full_scope.txt")
G:\PCN\Program files\helpers.py in read_FILUC(folder, file)
2 def read_FILUC(folder, file):
3 " read a SAP extract file in folder and convert it into a clean dataframe"
----> 4 df = pd.read_table(os.path.join(folder,file), skiprows=2,encoding='ISO-8859-1', dtype='category')
5 df = df.drop('Unnamed: 0', axis=1)
6 return df
NameError: name 'pd' is not defined
【问题讨论】:
-
请提供一个(最小可重现示例)[stackoverflow.com/help/minimal-reproducible-example]
-
如果你把
import pandas as pd作为helpers.py的第一行,它应该可以工作。