自动选择电子表格中特定文本的字体颜色?

Automating font color selection of specifc text in spreadsheets?

我已经从一个网站提取数据并将其格式化为 CSV,所有这些都带有 Python。我的工作要求我检查这些数据并使其更容易我想将 A 列中的字符串用作条件来格式化同一行 B 列中字符串中等效文本的字体颜色。

例如,如果“P90374”在 A 列第 1 行中,则 B 列第 1 行中包含的字符串“C801273 A12313 P90374 J1823132 B12313”中的“P90374”的字体颜色应设置为红色。

我原本打算处理 Google 表格中的数据,但我愿意接受任何可能的解决方案(尽管我目前无法访问 Excel)。

希望这是有道理的。非常感谢。

您可以使用“xlsxwriter”库来完成。 您可以使用 write_rich_string().

使用 XlsxWriter 格式化部分字符串

我假设您已经将 csv 转换为 dict。您对如何比较和填充颜色以将红色部分填充到文本有疑问。

代码如下:

import xlsxwriter

workbook = xlsxwriter.Workbook('sample_sezer_scraped_data.xlsx')
worksheet = workbook.add_worksheet()
red_color = workbook.add_format({'bold': True, 'color': 'red'})

sample_a_row_1 = "P90374"
sample_b_row_1 = "C801273 A12313 P90374 J1823132 B12313 C801273 A12313 P90374 J1823132 B12313"

if sample_a_row_1 in sample_b_row_1:
    parts_of_row = sample_b_row_1.split(sample_a_row_1)
    colored_row = []
    for order, part in enumerate(parts_of_row):
        if order != len(parts_of_row) - 1:
            colored_row.append(part)
            colored_row.append(red_color)
            colored_row.append(sample_a_row_1)
        else:
            colored_row.append(part)

    worksheet.write_rich_string("A1", *colored_row)

workbook.close()