2016-05-26 6 views
0

Я пытаюсь написать на первенствует следующее:Панды питона и Excel файл

<table> 
 
    <tr> 
 
    <td>user</td><td>4</td><td>Method</td><td>method 1</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td><td>title</td><td>note</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td><td>Hangover</td><td>7</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td><td>...</td><td>...</td> 
 
    </tr> 
 
    <tr> 
 
    <td>user</td><td>4</td><td>Method</td><td>method 2</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td><td>title</td><td>note</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td><td>Lord of the ring</td><td>9</td> 
 
    </tr> 
 
    <tr> 
 
    <td></td><td>...</td><td>...</td> 
 
    </tr> 
 
</table>

Так что я сделал следующий код:

def get_users_recommandation(users, score_mpm_user, score_mpm_unique_user): 
    writer = pd.ExcelWriter('recommendation.xlsx', engine='xlsxwriter') 
    for user in users: 
     label = pd.DataFrame({'user' : [user], 'method' : "mpm unique"}) 
     label.to_excel(writer, sheet_name='Sheet1') 
     recommendation = get_recommandation(score_mpm_unique_user, user) 
     df_recommendation = get_data_frame_from_recommendation(recommendation) 
     df_recommendation.to_excel(writer, sheet_name='Sheet1') 
     label = pd.DataFrame({'user' : [user], 'method' : "mpms"}) 
     label.to_excel(writer, sheet_name='Sheet1') 
     recommendation = get_recommandation(score_mpm_user, user) 
     df_recommendation = get_data_frame_from_recommendation(recommendation) 
     df_recommendation.to_excel(writer, sheet_name='Sheet1') 

Но проблема когда я делаю это, я перезаписываю предыдущий контент, и результат - это только последняя запись, которую я сделал. Я новичок в пандах, и я действительно не знаю, как это сделать. Должен ли я построить целый фрейм данных из 4 предыдущих, есть другой способ добавления фрейма данных в конце предыдущего.

ответ

1

Надеется, что это помогает вы можете добавить все dataframes, а затем записать его, чтобы преуспеть:
data=label.append(df_recommendation)
так же в течение следующих двух dataframes.

+0

Параметр 'to_csv()' метод имеет параметр 'mode' но' to_excel() 'метод не делает. – jmcnamara

+0

Я думал, что это так же для excel спасибо за указание. – shivsn

Смежные вопросы