我想在差异列名称上合并2个数据帧。它使用
处理单个文件df1 = pd.read_csv('df1.csv', header = 0)
df2 = pd.read_csv('df2.csv', header = 0)
All = pd.merge(df1, df2, how = 'left', left_on = 'Name1', right_on = 'Name2')
All = All.drop('Name2', 1)
All.to_csv('all.csv', sep=',')
但是对于glob中的多个文件(Descriptors /中的100个csv文件)
df1 = pd.read_csv('df1.csv', header = 0)
for f in glob.glob('Descriptors/*.csv'):
df2 = pd.read_csv(f)
All = pd.merge(df1, df2, how = 'left', left_on = 'Name1', right_on = 'Name2')
All = All.drop('Name2', 1)
All.to_csv(f + 'all.csv', sep=',')
这只能成功1次循环并获得错误
KeyError: 'Name2'
我的代码出了什么问题?
答案 0 :(得分:0)
是的,代码是正确的。但是ERROR来自log.csv文件,每次我尝试运行时都会保存。所以每次新的运行glop都会得到导致错误的log.csv。