我有以下 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 檔案 report.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 中已經存在的其他行
我有代碼
newdf = pd.DataFrame.from_dict(hh, orient="index")
exdf= pd.read_csv("./reports.csv")
df1=newdf.set_index(['hostname'])
df2=exdf.set_index(['hostname'])
df2.update(df1)
獲取錯誤:KeyError:“['hostname'] 均不在列中”
uj5u.com熱心網友回復:
DataFrame.update在兩個DataFrames 中使用指定的列進行匹配并從中創建索引:
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')
如果沒有為匹配指定列并且需要按位置匹配,這意味著第一行從DataFrame第一行到另一個行,所有行使用相同的邏輯:
newdf = pd.DataFrame.from_dict(hh, orient="index")
exdf= pd.read_csv("./reports.csv")
exdf.update(newdf)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/380614.html
