df_0 = pd.read_csv(file1, sep =',')
b=0
x=1
while (b == 0):
df_+str(x) = pd.merge(df_+str(x-1) , Source, left_on='R_Key', right_on = 'S_Key', how='inner')
if Final_+str(x).empty != 'True':
x = x + 1
else:
b = b + 1
现在执行时,返回"不能分配给操作员"对于 df_ + str(x)。知道如何解决这个问题吗?
答案 0 :(得分:0)
这是使用列表(Python中的序列类型)的正确时间,因此您可以根据需要引用尽可能多的数据帧。
dfs = []
dfs.append(pd.read_csv(file1, sep =',')) # It is now dfs[0]
b=0
x=1
while (b == 0):
dfs.append(pd.merge(dfs[x-1],
Source, left_on='R_Key',
right_on = 'S_Key', how='inner'))
if Final[x].empty != 'True':
x = x + 1
else:
b = b + 1
现在,您永远不会定义Final
。你需要在那里使用相同的技巧。
答案 1 :(得分:0)
不确定为什么要这样做,但我认为更清晰,更合理的方法是创建一个字典,其中数据框名称字符串作为键,生成的数据帧作为值?