I am relatively new to Python (most of my experience has been in SAS), so please bear with me.
I'm trying to create a number of CSVs from an existing dataset and export them based on a defined list. The naming of the CSVs should be dynamic based on the corresponding list value.
I've tried a lot of things - mostly stabbing in the dark - and nothing works. See code below
cc = ['AD-1','AD-2','AD-3'] #the list I want it to cycle through
for index in range(len(cc)):
df1_cc = df[df['charge'].isin(cc)] #df is predefined
#set "charge" as the index variable so you can aggregate on it
df1_cc = df1_cc.set_index('charge')
df1_cc
#sum up values based on individual values of 'charge'
table1_cc = df1_cc.sum(level='charge')
table1_cc
#output to CSV
table1_cc.to_csv(r"C:\Users\etc\table1_"+cc+".csv")
Note, the values in cc (AD-1, AD-2 and AD-3) are contained in 'charge' among others
The only error I get is here:
table1_cc.to_csv(r"C:\Users\etc\"+cc+".csv")
The error I get is: TypeError: can only concatenate str (not "list") to str
The output should be 3 files: table1_AD-1.csv, table1_AD-2.csv and table1_AD-3.csv, and each should contained summed values of each individually (again, that part works. The real issue is looping through and exporting to CSV the output for each individual value in cc).
Appreciate any help!
for name_stub in cc:then usename_stubwhere it is needed. This would be full "pythonista" style... but also, try enumerate as suggested below as well to give you an "`" style incrementing counter inside the loop!