我想使用python来解析CSV文件,并仅输出具有特定值的某些行。这是我到目前为止的代码,
import csv
f = open('alerts2.csv')
csv_f = csv.reader(f)
li1 = []
header = next(csv_f)
for row in csv_f:
# li1.append(row[5])
# li1.append(row[0])
severity = int(row[0]) #Has The the integer value from 10 - 40
Status = str(row[1])
PolicyName = str(row[2])
PolicyBlockName = str(row[3])
PolicyRuleName = str(row[4])
Summary = str(row[5])
li1.append(severity)
li1.append(Summary) # string variables
print li1
f.close()
这将输出来自严重性和摘要的所有值,但我希望它仅在严重性值为“10”时输出严重性和摘要的数据。 我想使用列表“li1”并搜索列表,如果找到值“10”,则输出值。有什么建议??我是一个蟒蛇新手。
答案 0 :(得分:2)
import pandas as pd
alerts_df = pd.DataFrame.from_csv('alerts2.csv', index_col=None)
print alerts_df[alerts_df['severity'] == 10]['Summary']
答案 1 :(得分:1)
只需将此检查添加到csv行的循环中:
for row in csv_f:
severity = int(row[0])
if severity != 10:
continue
如果severity
值不是10,则循环将continue
与下一行,并且不会对当前行执行任何操作。