我在使用imp上传的.py文件上有一个模块。 上传模块后,我想使用函数input()将我所在的jupyter笔记本中的数据帧传递到模块中。 不幸的是,它似乎无法将输入识别为数据帧,并且不会加载数据帧数据。 当我在使用功能的单独笔记本电脑上尝试此操作时,该过程运行正常。
这就是我要使用的:
Module = imp.load_source('Module', 'module.py')
mod = Module()
mod.load_default()
load_default是这样的:
def load_default():
while True:
try:
req_item_path = input("ENTER info : ")
# Added this:
try:
req_item_path = int(req_item_path)
req_item = pd.DataFrame([req_item_path], columns = ['name'])
break
except:
path_check = os.path.exists(req_item_path)
if path_check == True:
try:
req_item = pd.read_csv(req_item_path)
except:
req_item = pd.read_excel(req_item_path)
break
if path_check != True:
try:
isinstance(eval(req_item_path), pd.DataFrame)
req_item = eval(req_item_path)
break
except:
print("File does not exist or path is wrong. Please try again.")
except ValueError:
print("File does not exist or path is wrong. Please try again.")
return req_item
它可以作为单个功能使用,但是当添加到模块内部时,它不会加载数据框