我有一个程序,可以使用Python中的CSV模块将内容写入CSV文件。我的要求是,如果满足给定条件,则以彩色显示文本。有没有人指出如何使用CSV模块实现这一目标?
感谢您的帮助。
谢谢! MSH。
答案 0 :(得分:5)
您应该使用excel文件,因为csv文件只是纯文本文件,不能在其中保留任何颜色格式。基本上,CSV文件似乎只有在格式化时才能在Excel中打开。
在任何情况下,我的建议是您尝试使用xlsxwriter
包。您可以使用简单pip install XlsxWriter
安装它。
我为您创建了一个示例脚本,以帮助您入门。您会注意到我有一行创建格式: 粗体 ,font-size
红色。该格式仅在单元格值(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()
你应该得到:
我希望这会有所帮助。