Kiann
Kiann

Reputation: 571

Python save panda to csv files separately within FOR loop

I would like to save down some panda dataframe downloads separately as csv files. I am getting an error in the last line.

Is the syntax off?

Kind regards

sortedByISIN = pd.DataFrame()

for i in data['isin'].unique():
 print('Adding ' + i)
 d1 = data[data['isin'] == i]

 d1['next_signal'] = d1['signal'].shift(-1)

 #Shift x periods in the future 
 d1['futprice'] = d1['mid'].shift(-6)
 d1['futT'] = d1['creationTimeStamp'].shift(-6)


 d1['move'] = d1.apply(lambda row: (row['futprice'] - row['mid'])/row['mid'] * 10000 if row['futT'] - row['creationTimeStamp'] < 300000 else 0, axis=1)
 d1['signal_transition'] = d1['next_signal'] - d1['signal']

 sortedByISIN = sortedByISIN.append(d1)

 sortedByISIN['period'] = np.floor(sortedByISIN.creationTimeStamp/3600000)
 sortedByISIN.to_csv('Book'%i.csv')

Upvotes: 1

Views: 1692

Answers (2)

Giuseppe Bonavita
Giuseppe Bonavita

Reputation: 349

or you can use also:

sortedByISIN.to_csv('Book' + str(i) + '.csv')

Upvotes: 2

jezrael
jezrael

Reputation: 862641

Use format:

sortedByISIN.to_csv('Book{}.csv'.format(i))

And for python 3.6+ is possible use f-strings:

sortedByISIN.to_csv(f'Book{i}.csv')

Upvotes: 0

Related Questions