Search code examples
pythonpandasexport-to-csv

How to export data frame as CSV in a loop


I'm analyzing some data over a loop of 10 iterations, each of the iterations represents one of the data sets. I've managed to create a data frame with pandas at the end of each iteration, now i need to export each with a different name. here a take of the code.

for t in range(len(myFiles)):
    DATA = np.array(importdata(t))
    data = DATA[:,1:8]
    Numbers = data[:,0:5]
    Stars = data[:,5:7]
    [numbers,repetitions]=(Frequence(Numbers))
    rep_n,freq_n = (translate(repetitions,data))
    [stars,Rep_s] = (Frequence(Stars))
    rep_s,freq_s = (translate(Rep_s,data))
    DF1 = dataframe(numbers,rep_n,freq_n)
    DF2 = dataframe(stars,rep_s,freq_s)

Data frames DF1 and DF2 must be store separately with different names in each of the loop iterations.


Solution

  • You can create lists of DataFrames:

    ListDF1, ListDF2 = [], []
    for t in range(len(myFiles)):
       ...
       rep_s,freq_s = (translate(Rep_s,data))
       ListDF1.append(dataframe(numbers,rep_n,freq_n))
       ListDF2.append(dataframe(stars,rep_s,freq_s))
    

    Then for select DataFrame use indexing:

    #get first DataFrame
    print (ListDF1[0]) 
    

    EDIT: If need export with different filenames use t variable for DF1_0.csv, DF2_0.csv, then DF1_1.csv, DF2_1.csv, ... filenames, because python counts from 0:

     for t in range(len(myFiles)):
         ...
         DF1.to_csv(f'DF1_{t}.csv')
         DF2.to_csv(f'DF2_{t}.csv')