Python Pandas:仅当使用函数调用满足条件时,才将外部数据集读入数据帧
Python Pandas: Read in External Dataset Into Dataframe Only If Conditions Are Met Using Function Call
假设我的本地计算机上有一个名为 "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
在这种情况下可能没有理由使用 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')
假设我的本地计算机上有一个名为 "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
在这种情况下可能没有理由使用 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')