我被困在這一段時間了。我試圖打開一個csv,按嚴重性(Critical,High,Medium,Low)排序,然後覆蓋現有文件。我也想忽略第一個寫或添加標題行。打開CSV文件,對特定列進行排序並覆蓋現有的CSV
原始CSV
IP Address Severity Score
10.0.0.1 High 2302
172.65.0.1 Low 310
192.168.0.1 Critical 5402
127.0.0.1 Medium 1672`
修改/排序CSV
IP Address Severity Score
192.168.0.1 Critical 5402
10.0.0.1 High 2302
127.0.0.1 Medium 1672
172.65.0.1 Low 310
代碼
import csv
crit_sev = "Critical"
high_sev = "High"
med_sev = "Medium"
low_sev = "Low"
reader = csv.reader(open('sample.csv', 'r'))
row=0
my_list = []
for row in reader:
if row[1] == crit_sev:
my_list.append(row)
elif row[1] == high_sev:
my_list.append(row)
elif row[1] == med_sev:
my_list.append(row)
elif row[1] == low_sev:
my_list.append(row)
writer = csv.writer(open("sample.csv", 'w'))
header = ['IP Address', 'Severity', 'Score']
writer.writerow([header])
for word in my_list:
writer.writerow([word])
任何幫助WO不勝感激。
「或添加標題行」 - 這正是你有什麼想說的? – DyZ
爲什麼不在Excel中打開CSV或其他東西並在那裏排序呢? – TigerhawkT3
CSV ==逗號分隔值。我的文件中沒有看到任何逗號,所以這可能是第一個問題。它可能是製表符分隔還是固定格式?修復似乎不太可能,因爲當IP地址192.168.0.254出現時,您將沒有足夠的空間。 總體思路是讀取每條記錄,根據嚴重性對其進行分類,並將其存儲在數據結構中。然後完成後,按嚴重性順序編寫新的數據結構。 –