Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 有没有办法将数据框中突出显示的部分保存到excel中?_Python_Pandas - Fatal编程技术网

Python 有没有办法将数据框中突出显示的部分保存到excel中?

Python 有没有办法将数据框中突出显示的部分保存到excel中?,python,pandas,Python,Pandas,我试图比较两个相同的dataframes头,并突出显示两个帧中不相似的数据 现在,我想将突出显示的行打印到excel工作表中,并保留标题。我不能这么做 步骤1:-选择所需的行并将其存储在新帧中,例如df 在python中选择行可以使用 第二步: 使用此选项:- df.to_excel r'C:\Users\Desktop\selected_dataframe.xlsx' 别忘了在路径的末尾添加“.xlsx”您可以通过比较每个对应行的每个元素来检查差异这里我使用唯一id列来查找对应行。如果存在差

我试图比较两个相同的dataframes头,并突出显示两个帧中不相似的数据

现在,我想将突出显示的行打印到excel工作表中,并保留标题。我不能这么做


步骤1:-选择所需的行并将其存储在新帧中,例如df 在python中选择行可以使用

第二步: 使用此选项:-

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


别忘了在路径的末尾添加“.xlsx”

您可以通过比较每个对应行的每个元素来检查差异这里我使用唯一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方法保存:


如果要突出显示excel文件中的单元格,请签出i.e.patternfill。

通过.loc选择所需的行,使用.to_excel方法如何选择这些特定行。是否有代码片段或其他内容可供我使用。请原谅,我对这件事还很陌生@paulh请在这里复制并粘贴您的数据框,您尝试的内容在问题@U9中发布了一张图片供参考-Forward@MurtuzaAkhtari我如何选择我想要的行?选中编辑的行我实际上想要选择我高亮显示的行。我找不到访问行的方法,基于此,你读了我附加的链接了吗。你需要做一些类似的事情,可能还需要稍加调整才能做我做的大豆。我会努力的。并会让您知道结果您通常不需要使用数据帧循环。@PaulH我更新了答案以删除循环:
df_differnt_rows.to_excel('df_differnt_rows.xlsx')