pandas将结果附加到csv文件中

时间:2018-01-09 04:07:14

标签: python csv dataframe append export-to-csv

我试图将函数的结果附加到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

1 个答案:

答案 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:您使用第一个字母作为函数名称的大写字母,尽量避免它与任何内置函数名称不同。

相关问题