我正在使用 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'>
吃鸡游戏
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())
添加回答
举报
0/150
提交
取消