我被困在这一段时间了。我试图打开一个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出现时,您将没有足够的空间。 总体思路是读取每条记录,根据严重性对其进行分类,并将其存储在数据结构中。然后完成后,按严重性顺序编写新的数据结构。 –