Поместите два кадра данных на одном листе в Excel - PullRequest
1 голос
/ 28 марта 2020

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

dataframe 1
      colA   colB   calC
row 1
row 2
row 3
dataframe 2
      colD   colE   calD
row 1
row 2
row 3

Я хочу экспортировать оба этих кадра данных в один лист Excel один за другим. Анализ имеет разную длину, и я хочу, чтобы кадр данных 2 находился прямо под кадром данных1 на листе.

Ответы [ 4 ]

1 голос
/ 28 марта 2020
import pandas
from openpyxl import load_workbook

book = load_workbook('test.xlsx')
writer = pandas.ExcelWriter('test.xlsx', engine='openpyxl')
writer.book = book
df1.to_excel(writer,sheet_name=sheetname,startrow=writer.sheets["Sheet1"].max_row, index = False,header= False)
writer.save()

// затем проделайте те же шаги для любого количества данных.

0 голосов
/ 28 марта 2020

Вы можете добавить дополнительную строку во второй DataFrame со значениями, такими же, как имена столбцов. А затем просто используйте pd.concat()

0 голосов
/ 28 марта 2020

Вы можете использовать pandas .concat , чтобы объединить два кадра данных, передав параметр axis=0, который позволяет вам сложить два кадра данных друг над другом. Затем вы можете использовать ExcelWriter и DataFrame.to_excel метод для записи файла Excel.

Попробуйте это:

import pandas as pd
from pandas import ExcelWriter

result = pd.concat([df1, df2], axis=0, ignore_index=True)
with ExcelWriter("excel_file.xlsx") as writer:
    result.to_excel(writer, index=False)
0 голосов
/ 28 марта 2020
df2.columns = df1.columns
pd.concat([df1, df2])

Сначала сделайте столбцы обоих фреймов данных одинаковыми, а затем используйте pd.concat для добавления df2 к концу df1

Вы можете создать новый фрейм данных из этого и экспортируйте его в csv:

df = pd.concat([df1,df2])
df.to_csv('filename.csv')

Если вы хотите, чтобы заголовок второго кадра данных также находился в вашем окончательном файле CSV, создайте df2: df2 = pd.read_csv('df2.csv', names = df1.columns)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...