首页 > 解决方案 > pandas.to_csv() 带有一些粗体字

问题描述

我有数据框

df = [["A1" "B2" "C3"] ["D4" "E5" "F6"]]

(所有文本都是字符串)我想将它保存到一个文件中,并使用df.to_csv()彩色/粗体文本“E5”。可以做到吗?

标签: pythonexcelpython-3.xpandasdataframe

解决方案


逗号分隔值 (csv) 文件不包含任何格式信息,因此您需要使用 Excel 格式来完成您想要的。您可以执行以下操作:

import pandas as pd

# Create a Pandas dataframe from some data.
df = pd.DataFrame([["A1", "B2", "C3"], ["D4", "E5", "F6"]])

# Create a Pandas Excel writer using XlsxWriter as the engine.
writer = pd.ExcelWriter("test.xlsx", engine='xlsxwriter')

# Get the xlsxwriter workbook and worksheet objects.
workbook  = writer.book
worksheet = workbook.add_worksheet('Sheet1')

# Add a header format.
header_format = workbook.add_format({'bold': True})

# Write the column headers with the defined format.
for i, row in enumerate(df.values):
    for j, val in enumerate(row):
        if val=='E5': worksheet.write(i, j, val, header_format)
        else: worksheet.write(i, j, val)

# Close the Pandas Excel writer and output the Excel file.
writer.save()

这将输出:

在此处输入图像描述


推荐阅读