【问题标题】:Openpyxl: Add dataframe to a range in excelOpenpyxl:将数据框添加到excel中的范围
【发布时间】:2018-10-22 23:28:52
【问题描述】:

我目前正在使用 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 

我想在 Cell 的工作表中包含数据框 ($D$15)。我怎么做?我写了下面的代码,但不知道之后该怎么做。我应该在哪里使用 openpyxl 为范围或单元格编号赋值?

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

【问题讨论】:

  • 你只需要用None 填充行就可以从你需要的地方开始。

标签: python python-2.7 pandas dataframe openpyxl


【解决方案1】:

你需要使用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)。

【讨论】:

  • 但是如何用不同的文件名保存文件?
  • @Raj 我在原始问题中没有看到这一点。创建xl_writer 时使用的文件名将是保存的文件。要保存这本书,您只需添加行xl_writer.save()
猜你喜欢
  • 2023-03-02
  • 2017-02-06
  • 2020-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多