自动选择电子表格中特定文本的字体颜色?
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()
我已经从一个网站提取数据并将其格式化为 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()