gpt4 book ai didi

Python 如何绘制背景单元格

转载 作者:行者123 更新时间:2023-12-01 02:42:28 26 4
gpt4 key购买 nike

满足条件时需要对背景单元格进行着色。

import xlrd
import xlsxwriter

workbook = xlsxwriter.Workbook('file2.xlsx')
worksheet = workbook.add_worksheet()
format = workbook.add_format()
format.set_font_color('red')

excel_data_file1 = xlrd.open_workbook('file1.xlsx')
sheet_file1 = excel_data_file1.sheet_by_index(0)

excel_data_file2 = xlrd.open_workbook('file2.xlsx')
sheet_file2 = excel_data_file2.sheet_by_index(0)

col1 = sheet_file1.col(colx=0)
col2 = sheet_file2.col(colx=0)

a=set()
for i in range(len(col1)):
a.add(sheet_file1.cell_value(rowx=i, colx=0))

for j in range(len(col2)):
cellVal2 = sheet_file2.cell_value(rowx=j, colx=0)

if cellVal2 not in a:
worksheet.write_blank(j, 0, format)

通过做

worksheet.write_blank(j, 0, format)

不起作用,工作表中的所有值都被删除

最佳答案

这是一个小演示,它使用 Pandas module .

我们首先生成两个示例 Excel 文件:

import pandas as pd

pd.DataFrame(np.random.randint(10, size=(5, 3)), columns=list('abc')) \
.to_excel('d:/temp/f1.xlsx', index=False)
pd.DataFrame(np.random.randint(10, size=(5, 3)), columns=list('abc')) \
.to_excel('d:/temp/f2.xlsx', index=False)

现在我们将它们读取/解析到 Pandas.DataFrame 中:

In [89]: df1 = pd.read_excel(r'D:\temp\f1.xlsx')

In [90]: df2 = pd.read_excel(r'D:\temp\f2.xlsx')

In [91]: df1
Out[91]:
a b c
0 0 5 3
1 9 4 9
2 3 6 5
3 9 1 5
4 2 5 0

In [92]: df2
Out[92]:
a b c
0 0 7 9
1 2 2 3
2 4 9 0
3 7 9 1
4 8 6 5

一种辅助函数,可突出显示一个系列中其他系列中缺少的单元格:

def highlight_missing(s1, s2, col_name):
if s1.name == col_name:
return ['' if x in s2.values else 'background-color: yellow' for x in s1]
return [''] * len(s1)

最后我们可以创建一个新的 Excel 文件,其中突出显示缺失值:

df1.style.apply(highlight_missing, s2=df2['a'], col_name='a') \
.to_excel('d:/temp/new.xlsx', index=False, engine='openpyxl')

结果:

enter image description here

关于Python 如何绘制背景单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532649/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com