我已經從網站中提取資料并將其格式化為 CSV,全部使用 Python。我的作業要求我檢查這些資料并使其更容易,我希望將 A 列中的字串用作條件來格式化同一行 B 列中字串中等效文本的字體顏色。
例如,如果“P90374”位于 A 列第 1 行,則 B 列第 1 行中包含的字串“C801273 A12313 P90374 J1823132 B12313”中的“P90374”應將字體顏色設定為紅色。
我最初計劃在 Google 表格中處理資料,但對任何可能的解決方案持開放態度(盡管我目前無法訪問 Excel)。
希望這是有道理的。非常感謝。
uj5u.com熱心網友回復:
您可以使用“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()
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/481405.html
