Openpyxl: добавить фрейм данных в диапазон в Excel - PullRequest
0 голосов
/ 23 октября 2018

В настоящее время я использую openpyxl для добавления данных в ячейку в Excel.У меня есть следующий фрейм данных.

import pyodbc
import pandas as pd
import numpy as np
import openpyxl as op
from openpyxl.utils.dataframe import dataframe_to_rows

print ("Opening Workbook...")
wb = op.load_workbook(r"file_test.xlsx")

seg_IP=df_Seg[df_Seg['B_Name'] == 'ABS']
df_test = pd.DataFrame(seg_IP.groupby('Exit_S')['Exit_S'].count())
Input : df_test
Output :       
    Column_A  Column_B                                    
    ABC           3
    DEF           88
    GHI           91 

Я хочу включить фрейм данных в свой рабочий лист в ячейке ($ D $ 15).Как я могу это сделать?Я написал код ниже, но не уверен, что делать после этого.Где я должен присвоить значение диапазону или номеру ячейки, используя openpyxl?

for r in dataframe_to_rows(segment_MLE, index=True, header=True):
    sht_1_Segmentation.append(r)

1 Ответ

0 голосов
/ 23 октября 2018

Вам нужно использовать метод pandas DataFrame to_excel, здесь есть немного настроек:

xl_writer = pd.ExcelWriter(r'file_test.xlsx', engine='openpyxl')
xl_writer.book = wb
xl_writer.sheets = {ws.title:ws for ws in wb.worksheets}
df_test.to_excel(xl_writer, 'sheet_name', index=False, startcol=3, startrow=15)

Я думаю, что есть некоторые утилиты для преобразования имени столбца (например, 'D') вномер столбца (например, 3).

...