2015-06-14 1 views
1

У меня есть несколько фреймов данных pandas и надеюсь записать их как один CSV-файл. Какой самый простой способ?Несколько pandas.dataframe в один файл csv

К примеру, из следующих четырех dataframes,

enter image description here

как я могу создать ниже CSV?

enter image description here

Примечание В dataframes все имеют одинаковые размеры.

+0

Все ли данные имеют одинаковые формы? – unutbu

+0

@unutbu Да. Все данные имеют одинаковую форму. – rkjt50r983

ответ

6

очень простой способ был бы concat пара по горизонтали, CONCAT результатов вертикально, и записать все это с помощью to_csv:

import pandas as pd 

pd.concat([ 
    pd.concat([df1, df2], axis=1), 
    pd.concat([df3, df4], axis=1)]).to_csv('foo.csv') 

возможно более память сохранения способа было бы записать его по частям:

with open('foo.csv', 'w') as f: 
    pd.concat([df1, df2], axis=1)].to_csv(f) 
with open('foo.csv', 'a') as f: 
    pd.concat([df3, df4], axis=1)].to_csv(f, header=False) 

Опуская headers=False будет повторять заголовки.

+0

Спасибо. Возможно ли сохранить заголовки видимыми для df3 и df4? В моем вопросе CSV назначения имеет четыре строки, а третий - заголовки df3 и df4. – rkjt50r983

+0

@ rkjt50r983 См. Обновление. –

+0

Мне нравится это решение. Благодаря! – rkjt50r983

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