i have a df like this
user = pd.DataFrame({'User':['101','101','101','102','102','101','101','102','102','102'],'Country':['India','Japan','India','Brazil','Japan','UK','Austria','Japan','Singapore','UK'],'Count':[50,1,2,5,6,89,10.9,10,5,6]})
and exporting each user data into seperate csv file like this
user_101 = user[user['User'] == '101']
user_102 = user[user['User'] == '102']
user_101.to_csv('user_101.csv',sep=',')
user_102.to_csv('user_102.csv',sep=',')
how to automate this instead of manually passing the userid's automatically picks the values from User column and export to respective user name files. Thanks
Using a for loop with groupby and f-strings (Python 3.6+):
for user_id, group in user.groupby('User'):
group.to_csv(f'user_{user_id}.csv', sep=',')
You can loop over unique values of User:
import pandas as pd
user = pd.DataFrame({'User':['101','101','101','102','102','101','101','102','102','102'],'Country':['India','Japan','India','Brazil','Japan','UK','Austria','Japan','Singapore','UK'],'Count':[50,1,2,5,6,89,10.9,10,5,6]})
for u in user['User'].unique():
file_name = 'user_{0}.csv'.format(u)
user[user['User'] == u].to_csv(file_name, sep=',')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With