Pandas的Excel评论框架?

ee7vknir  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(106)

我有两个pandasdataframesdf_chartdf_comments。两者都有相同的标题和索引。我想知道是否有一种方法可以制作一个excel文件,其中单元格中有df_chart,注解中有df_comments
从文件来看,

df_chart.to_excel(excel_file, sheet_name= "Chart")

字符串
很简单。然而,我似乎找不到任何类似于快速有效地添加评论的东西。我希望是这样的:

df_comments.to_excel_comments(excel_file, sheet_name= "Chart")


可能存在,但我认为不存在。有谁知道一种方法,我可以很容易地编写这个函数?

eit6fx6z

eit6fx6z1#

这里有一种方法你可以接近它。
该代码使用来自Pandasto_excel(),然后使用openpyxl打开工作簿,并遍历注解DataFrame以在适用的地方添加注解。

import pandas as pd
from openpyxl import load_workbook
from openpyxl.comments import Comment

data = pd.DataFrame({'A': [1, 2], 'B': [3, 4]})
comments = pd.DataFrame({'A': ['Comment A1', None], 'B': [None, 'Comment B2']})
excel_path = "result.xlsx"
data.to_excel(excel_path, index=False)

wb = load_workbook(excel_path)
ws = wb.active

for row in comments.iterrows():
    xl_row = row[0] + 2  # +1 for 0-based index, +1 for header
    for xl_col, (col_name, comment_text) in enumerate(row[1].items(), 1):
        if pd.notna(comment_text):  # Check if the comment_text is not NaN
            cell = ws.cell(row=xl_row, column=xl_col)
            # change second arg to a name if you prefer
            cell.comment = Comment(comment_text, "Written by Python process")

wb.save(excel_path)

字符串

相关问题