我有3个数据帧,分别是df,validatedOutput和initialoutput,都是相同的维度。此外,差值定义如下。你知道吗
difference_df = validatedOutput == initial_output
我想将validatedOutput写入一个Excel文件,并将validatedOutput所在的所有值涂成黄色!=初始输出 为了做同样的事情,我使用了条件工作表.write方法根据差值对细胞进行着色。下面是一个示例代码:
workbook = writer.book
worksheet = writer.sheets['Upload_Sheet']
yellow_format = workbook.add_format()
yellow_format.set_pattern(1) # This is optional when using a solid fill.
yellow_format.set_bg_color('#FFFF00')
#orange format. This color is for header
orange_format = workbook.add_format()
orange_format.set_pattern(1) # This is optional when using a solid fill.
orange_format.set_bg_color('#FFA500')
for i in range(len(difference_df.columns)):
for j in range(len(difference_df.index)):
op = validatedOutput.iloc[j,i]
ip = initial_output.iloc[j,i]
if pd.isnull(op) and pd.isnull(ip) :
continue
elif pd.notnull(op) and difference_df.iloc[j, i]:
worksheet.write(j+1, i, op)
elif pd.notnull(op) :
worksheet.write(j+1, i, op, yellow_format)
问题是这个方法非常慢,因为我使用for循环访问数据帧的每个元素,然后将其写入文件。 有没有更快的方法来做同样的事情?你知道吗
我会尝试将这两个数据集(已验证和初始)写入Excel文件的两个独立区域,例如两个工作表,然后在Excel中使用条件格式进行着色,而不是通过Python代码指定颜色。你知道吗
相关问题 更多 >
编程相关推荐