2014-10-30 3 views
1

У меня есть несколько DataFrames (DF), такие какПанды: Экспорт нескольких DataFrames в несколько файлов XLSX

  • df1
  • df2
  • ...
  • df24

и Я хотел бы экспортировать каждый DF в отдельный файл xlsx, такой как

  • 'output_T1.xlsx' для df1,
  • 'output_T2.xlsx' для df2
  • ...
  • 'output_T24.xlsx' для df24.

Хотя я знаю, как сделать это с to_csv:

df[i].to_csv('output_T%s.csv' %(1+i), index = False) 

я не могу узнать, как сделать это с df.to_excel. Вот мой код, что я сделал, и я получаю ошибку типа.

for i in xrange(n): 
    writer[i] = pd.ExcelWriter('output_P%s.xlsx') 
    dfLP[i].to_excel(writer[i], sheet_name='Sheet1') 
    writer.save() 
    %(1+i) 

TypeError: объект '_XlsxWriter' не поддерживает присваивание товара

Любой намек, предложение будет оценен.

Приветствия,

+0

Что такое 'писатель'? –

+0

Это объект ExcelWriter, в соответствии с описанием на веб-сайте панды: [ссылка] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_excel.html) – user2205323

ответ

3

Проблема в том, здесь:

writer[i] = pd.ExcelWriter('output_P%s.xlsx') 

Вы говорите writer является ExcelWriter. Итак, почему вы пытаетесь назначить его [i]-й элемент? Попробуйте следующее:

for i in xrange(n): 
    filename = 'output_P%s.xlsx' % (1+i) 
    dfLP[i].to_excel(filename, sheet_name='Sheet1') 
+0

Это работает, спасибо вы за свою помощь :) – user2205323

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