为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用datacompy将比较报告的输出发送到excel

如何使用datacompy将比较报告的输出发送到excel

米琪卡哇伊 2022-05-24 17:02:38
我正在使用 datacompy 比较 2 个 excel 文件中的数据。我想将输出发送到一个 excel 文件(也可能是一封电子邮件,但这不是优先事项)。我怎样才能做到这一点 ?我尝试存储 compare.report 的值并将其传递给 excel,尽管它不起作用compare = datacompy.Compare(df1,df2,join_columns=['COL_A','COL_B']) compare_rep = compare.report()使用 pd.ExcelWriter('Comparison_report.xlsx') 作为作者: compare_rep.to_excel(writer,sheet_name = 'DM',index=False)
查看完整描述

2 回答

?
慕森卡

TA贡献1806条经验 获得超8个赞

您正在尝试将字符串写入 excel 文件(使用 pd.DataFrame.to_excel() 是不可能的),因为 compare.report() 不会生成数据框。


print(type(compare_rep))

<class 'str'>


查看完整回答
反对 回复 2022-05-24
?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

如果您使用的是 OpenPyxl,您可以将字符串逐行拆分为列表并将其写入 excel。


同样,如果您想通过电子邮件发送报告,您可以使用 SMTPLIB


import smtplib

server = smtplib.SMTP('smtp.gmail.com', 587)


#Next, log in to the server

server.login("youremailusername", "yourpassword")


#Send the mail

#compare.report() is the datacompy report string

server.sendmail("you@gmail.com", "target@example.com", compare.report())


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 321 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信