我试图将函数的结果附加到csv文件,但结果被覆盖了,我只获得了csv中最后一个文件的值。 我的代码是这样的:
def Read (indir= "C:/Users/SSA/Desktop/New folder",outfile= "C:/Users/SSA/Desktop/final.csv"):
os.chdir(indir)
fileList= glob.glob("*.csv")
for filename in fileList:
print(filename)
df=pd.read_csv(filename)
......
y = df3.iloc[:,15].max()
z= df3.iloc[:,15].min()
x = Total_Time - Utilisation_time
f = x / len(great)
p = 6 * On_I
df = pd.DataFrame({'Result':[y,z,x,f,p ]})
df.to_csv(outfile, index = False)
df.append('df', outfile)
当我调用函数Read()时。 我得到的csv文件只包含文件夹中的最后一个文件的值。它没有附加!
输出:(这是最后一个文件的结果!!
filename
460.99
214.96
175.6663888889
0.0295237628
945.4583333333
答案 0 :(得分:0)
尝试下面的逻辑,它很简单,你也可以把它作为一个功能。
path='path_of_folder'
list_of_files=os.listdir(path)
main_dat=pd.DataFrame()
for fil in list_of_files:
### do your stuff
data=pd.read_csv(path+fil)
### do your stuff
df = pd.DataFrame({'Result':[y,z,x,f,p ]})
main_dat=pd.concat([main_dat,df])
main_dat.to_csv('save_your_output.csv',index=False) #your final result
PS:您使用第一个字母作为函数名称的大写字母,尽量避免它与任何内置函数名称不同。