使用input()传递变量并读取数据框

时间:2019-01-08 21:12:10

标签: python pandas input

我在使用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

它可以作为单个功能使用,但是当添加到模块内部时,它不会加载数据框

0 个答案:

没有答案