繁体   English   中英

Pandas:比较 dataframe 与 csv 文件并更新 Z628CB5675FF524F3E719B7AA2E88FE3 文件

[英]Pandas: Compare dataframe with csv file and update the csv file

我有以下 ddataframe

          domain   hostname      ip address  status           managed by      monitor target name
0         jetty.com  aabb   XXX.XX.XX.XXX         Deployed  Sec Team  aabb.jetty.com
1         jetty.com  axcd   XXX.XX.XX.XXX         Deployed  Sec Team  axcd.jetty.com

现在我有另一个 csv 文件报告。csv

"domain","hostname","ip address","managed by", "monitor target name"
"jetty.com","aabb","XXX.XX.XX.XXX", "Decreased","OP Team", "aabb.jetty.com"
"jetty.com","axcd","XXX.XX.XX.XXX", "Decreased","OP2 Team", "axcd.jetty.com"
"jetty.com","appd","XXX.XX.XX.XXX", "Dec","OP8 Team", "appd.jetty.com"

 

现在我想将 df 与此 csv 进行比较,然后将 csv 更新为以下

"domain","hostname","ip address","managed by", "monitor target name"
"jetty.com","aabb","XXX.XX.XX.XXX", "Deployed","OP Team", "aabb.jetty.com"
"jetty.com","axcd","XXX.XX.XX.XXX", "Deployed","OP Team", "axcd.jetty.com"
"jetty.com","appd","XXX.XX.XX.XXX", "Dec","OP8 Team", "appd.jetty.com"

现在它已更新并且看起来与 df 中的相同

如何根据 df 值更新 csv 但不修改 csv 中已经存在的其他行

利用:

df2 = pd.read_csv('reporst.csv')

df1 = ddataframe.set_index(['domain','hostname','ip address'])
df2 = reporst.set_index(['domain','hostname','ip address'])

df2.update(df1)

df2.to_csv('out.csv')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM