在 Python 中将彩色输出写入 CSV 文件

writing colored output into CSV file in Python

我有一个程序可以使用 Python 中的 CSV 模块将内容写入 CSV 文件。我的要求是在满足给定条件的情况下以彩色显示文本。有人知道如何使用 CSV 模块实现此目的吗?

感谢您的帮助。

谢谢! MSH.

您应该为此使用 excel 文件,因为 csv 文件只是纯文本文件,不能在其中保留任何颜色格式。基本上,只有在 Excel.

中打开 CSV 文件时,CSV 文件才可能看起来有格式

无论如何,我的建议是您尝试为此使用 xlsxwriter 包。您可以使用简单的 pip install XlsxWriter.

安装它

我已经为您创建了一个示例脚本来帮助您入门。您会注意到我有一行创建格式:bold with font-size red.该格式仅在单元格值 (cell_data) 等于 "xyz".

时使用
from collections import OrderedDict
import xlsxwriter


data = {"1":["xyz",""],"2":["abc","def"],"3":["zzz",""]}

# Use an OrderedDict to maintain the order of the columns
data = OrderedDict((k,data.get(k)) for k in sorted(data.keys()))

# Open an Excel workbook
workbook = xlsxwriter.Workbook('dict_to_excel.xlsx')

# Set up a format
book_format = workbook.add_format(properties={'bold': True, 'font_color': 'red'})

# Create a sheet
worksheet = workbook.add_worksheet('dict_data')

# Write the headers
for col_num, header in enumerate(data.keys()):
    worksheet.write(0,col_num, int(header))

# Save the data from the OrderedDict into the excel sheet
for row_num,row_data in enumerate(zip(*data.values())):
    for col_num, cell_data in enumerate(row_data):
        if cell_data ==  "xyz":
            worksheet.write(row_num+1, col_num, cell_data, book_format)
        else:
            worksheet.write(row_num+1, col_num, cell_data)

# Close the workbook
workbook.close()

你应该得到:

希望对您有所帮助。