我正在尝试执行以下代码
def get_data(full_file_path, **kwargs):
file_extension = full_file_path.split(".")[-1]
method = {"data":read_table(full_file_path, **kwargs),
"csv":read_csv(full_file_path, **kwargs)}
data = pd.method.get(file_extension)
return data
我收到错误:
File "C:\Users\code\src\data\make_dataset.py", line 7, in get_data
method = {"data":read_table(full_file_path, **kwargs),
NameError: name 'read_table' is not defined
是否有人知道是否可以根据字典选择对象的方法?
提前致谢。
ps:是的,我已经“转发pandas as pd
。
答案 0 :(得分:0)
Python中对函数的引用就像普通名称一样。您的代码中的问题是您实际上正在尝试调用字典定义中的函数。我已在此版本的函数中将查找拆分为几个步骤以明确说明:
def get_data(full_file_path, **kwargs):
file_extension = full_file_path.split(".")[-1]
method = {"data": pd.read_table,
"csv": pd.read_csv}
read = method[file_extension]
data = read(full_file_path, **kwargs)
return data