【问题标题】:outputting a coloured excel file, python输出一个彩色的excel文件,python
【发布时间】:2023-02-25 07:25:30
【问题描述】:

我被要求为我工作的公司编写一个程序,它将获取一个 excel 文件并转动任何填写的行并在其上放置粉红色背景,是否可以获取一个 excel 文件,添加背景颜色然后保存文件,我真的在这里苦苦挣扎,所以如果有人能指出正确的方向或基本功能,我可以围绕它建模我的代码,这将是一个巨大的帮助。

【问题讨论】:

  • 那么,基本上添加conditional formatting?您可以只在 Excel 本身中使用该功能而不是编写 python 吗?或者您是否需要代码,因为这将适用于任意数量的 excel 文件?
  • 100% 是的,我把它复杂化了
  • @isolated 这可能看起来过于复杂,但公司有可能有一个驱动器,里面装满了他们需要自动格式化的文件。编写 Python 脚本比花钱请人来做更快更划算
  • @sconfluentus 这就是为什么我用这个问题结束我的第一条评论。 OP 没有具体说明这是一次性的单个文件还是更大规模的文件。
  • @isolated my bad, 周五晚些时候

标签: python excel pandas csv


【解决方案1】:

如果你已经有一个 excel 工作簿,你可以读入它并直接在上面编辑,但在你把它记下来之前最好保留原来的并创建一个你可以扔掉而不会丢失信息的新工作簿。

这是一个多步骤的过程:

创建工作簿并将其保存到变量中:

workbook = xlsxwriter.Workbook('sample.xlsx')

将工作表添加到工作簿

worksheet = workbook.add_worksheet()

此工作表现在作为 worksheet 引用的 python 内存中的对象存在,并作为实际 Excel 工作簿中的工作表存在

您现在需要将一些数据写入该空白页:

worksheet.write(pandas_df) # this is where you drop in the data

设置一种格式以应用于您的选择:

formats = workbook.add_format({'bg_color': '#F9DCD6', '字体颜色':'#095A03'})

下一部分是您需要试验的内容:

worksheet.conditional_format('A1:Z100', {'type': 'cell',
                                     'criteria': '<your criteria>',
                                     'value': <your value>,
                                     'format': formats})

您可以在此处查找识别不同类型数据的所有方法:xlsxwriter

在这里面应该有一些方法来创建你正在寻找的方案。

然后你就可以正常写出来了!

编辑:此外,如果您正在将数据读入熊猫然后创建新文件,那么在写出表格时简单地将格式应用于表格可能是最简单的方法。 This tutorial should get you there,只使用背景颜色而不是字体颜色:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-06
    • 2012-10-29
    • 2019-05-06
    • 2020-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多