Python 标题的样式

Python 标题的样式,python,pandas,openpyxl,Python,Pandas,Openpyxl,我想使用pandas(或者openpyxl,如果无法使用pandas,则使用openpyxl)调整此代码的大小并加粗Title)。有没有一种方法可以做到准确和“肾盂法” 我知道我们可以使用,但我不知道如何在我的代码中使用它 更新 根据@AndyHayden的说法,通常下面的代码应该加粗标题,但这似乎不起作用 def multiple_dfs(file_name, sheet, *args): """ Put multiple dataframes into on

我想使用
pandas
(或者
openpyxl
,如果无法使用
pandas
,则使用
openpyxl
)调整此代码的大小并加粗
Title
)。有没有一种方法可以做到准确和“肾盂法”

我知道我们可以使用,但我不知道如何在我的代码中使用它

更新 根据@AndyHayden的说法,通常下面的代码应该加粗标题,但这似乎不起作用

 def multiple_dfs(file_name, sheet, *args):
        """
        Put multiple dataframes into one xlsx sheet
        """

        row=2
        writer = pd.ExcelWriter(file_name, engine='openpyxl')

        df = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
                   'income': [40000, 50000, 42000]})
        df2 = pd.DataFrame(['Title'])

        df.to_excel(writer, sheet, startrow=row, index=False)
        df2.to_excel(writer, sheet, startrow=0, startcol=0, header=None, \
                 index=False)
标题从未以粗体显示。我怎样才能解决这个问题

如果问题不清楚,请告诉我。

此报价提供了一种简洁的方法:

import pandas as pd
import io, os, openpyxl

from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows
from openpyxl.styles import (PatternFill, Border, Side, Alignment, Protection, Font)

def multiple_dfs(sheet):

    row=2
    writer = pd.ExcelWriter("testing.xlsx", engine='openpyxl')

    df = pd.DataFrame(['Title'])
    df2 = pd.DataFrame({'user': ['Bob', 'Jane', 'Alice'], 
                       'income': [40000, 50000, 42000]})

    df.to_excel(writer, sheet, startrow=0, startcol=0, header=None, \
                 index=False)
    df2.to_excel(writer, sheet, startrow=row, index=False)

    wb = Workbook()
    ws = wb.active

    for r in dataframe_to_rows(df, index=False, header=False):
        ws.append(r)

    title = ws["A1"]; title.font = Font(bold=True)
    wb.save("testing.xlsx")                

    writer.save()
    writer.close()

multiple_dfs('aaa')


注意:如果您事先正在执行其他插入操作(就像你在上一个问题中建议的那样,你必须使用不同的行号。

假设
文件名
被称为
NHL\u databases.xlsx
。你能用它修改你的代码吗。@J.Doe用NHL\u databases.xlsx替换pandas\u openpyxl.xlsx吗?好的,这很好,但为什么我的标题不加粗?你能修复它还是只适合它我的问题代码与您的答案代码?@J.Doe因此,您可以执行类似于
title=ws[“A1”];title.font=font(bold=True)的操作
。我不知道它是如何工作的……很抱歉,我很早就开始用python编程了。to\u excel和wb.save会相互混淆,如果你正在设计样式,我建议不要使用to\u excel,而是使用dataframe\u to\u rows片段。@而且我已经花了一段时间来编写它。你能修改我的代码使其工作吗?这非常困难d对我来说,因为我所有真正的代码都是使用
pandas
到excel
from openpyxl import Workbook
from openpyxl.utils.dataframe import dataframe_to_rows

wb = Workbook()
ws = wb.active

for r in dataframe_to_rows(df, index=True, header=True):
    ws.append(r)

for cell in ws['A'] + ws[1]:
    cell.style = 'Pandas'

wb.save("pandas_openpyxl.xlsx")