有没有一种方法可以将数据框的突出显示部分保存到Excel?

时间:2019-06-26 05:53:07

标签: python pandas

我正在尝试比较两个数据帧(两个标题都相同),并突出显示两个帧中不相似的数据。

现在,我想将突出显示到保留标题的excel表中的那些行打印出来。我无法做到这一点

Example output image

2 个答案:

答案 0 :(得分:0)

您可以通过比较每个对应行的每个元素来检查差异(在这里,我使用唯一的id列来查找对应的行)。如果存在差异,则可以将其附加到新的数据框中。最后将新数据框保存为excel格式。

df_differnt_rows = pd.DataFrame(columns=['id','B','C'])
df1 = pd.DataFrame([[1,2,3],[2,2,3],[3,2,3]], columns=['id','B','C'])
df2 = pd.DataFrame([[1,2,3],[2,"different",2],[3,2,3]], columns=['id','B','C'])

for i, row in df1.iterrows():
  compare_row = df2.loc[df2['id'] == row['id']].iloc[0]
  if all(row == compare_row):
      continue
  df_differnt_rows = df_differnt_rows.append(compare_row)

这将产生另一个df,该df的所有行在df1和df2之间都是不同的。

print(df_differnt_rows)

    id  B           C
1   2   different   2

使用.to_excel()方法保存:

df_differnt_rows.to_excel('df_differnt_rows.xlsx')

如果要突出显示excel文件中的单元格,请签出openpyxl(即patternfill)。

答案 1 :(得分:-1)

第1步:-选择所需行并将其存储在新框架中,例如df (可以使用this在python中选择行)

第2步:- 使用这个:-

df.to_excel (r'C:\Users\Desktop\selected_dataframe.xlsx')

#Don't forget to add '.xlsx' at the end of the path