Pandas Python:仅当使用函数调用满足条件时,才将外部数据集读入数据帧

Pandas Python:仅当使用函数调用满足条件时,才将外部数据集读入数据帧,pandas,function,if-statement,conditional,eval,Pandas,Function,If Statement,Conditional,Eval,假设我在本地机器上有一个名为“test.xlsx”的Excel文件。我可以用传统的代码读取这个数据集 df_test = pd.read_excel('test.xlsx') 但是,如果满足条件,我想有条件地读取中的数据集。。。如果满足另一个条件,我希望读取不同的数据集 下面是我尝试使用函数的代码: def conditional_run(x): if x == 'fleet': eval('''df_test = pd.read_excel('test.xlsx'

假设我在本地机器上有一个名为“test.xlsx”的Excel文件。我可以用传统的代码读取这个数据集

df_test = pd.read_excel('test.xlsx') 
但是,如果满足条件,我想有条件地读取中的数据集。。。如果满足另一个条件,我希望读取不同的数据集

下面是我尝试使用函数的代码:

def conditional_run(x):

    if x == 'fleet':
        eval('''df_test = pd.read_excel('test.xlsx')''')

    elif x != 'fleet':
        eval('''df_test2 = pd.read_excel('test_2.xlsx')''')

conditional_run('fleet') 
下面是我得到的错误:

File "<string>", line 1
    df_test = pd.read_excel('0Day Work Items Raw Data.xlsx')
            ^
SyntaxError: invalid syntax
文件“”,第1行
df_test=pd.read_excel('0Day Work Items Raw Data.xlsx')
^
SyntaxError:无效语法

在这种情况下,可能没有理由使用
eval
。根据文件名有条件地读取文件就足够了。例如:

def conditional_run(x):

    if x == 'fleet':
        file = "test.xlsx"
    elif x != 'fleet':
        file = "test_2.xlsx"
    df_test = pd.read_excel(file)
    return df_test

conditional_run('fleet')