如何从符合特定条件的文件中打印出行,但是要检查多列?

时间:2017-03-27 18:49:49

标签: python list if-statement

name played wins loses
Leeroy,19,7,12
Jenkins,19,8,11
Tyler,19,0,19
Napoleon Wilson,19,7,12
Big Boss,19,7,12
Game Dude,19,5,14
Macho Man,19,3,16
Space Pirate,19,6,13
Billy Casper,19,7,12
Otacon,19,7,12
Big Brother,19,7,12
Ingsoc,19,5,14
Ripley,19,5,14
M'lady,19,4,15
Einstein100,19,8,11
Dennis,19,5,14
Esports,19,8,11
RNGesus,19,7,12
Kes,19,9,10
Magnitude,19,6,13

基本上,这是一个名为firesideResults的文件,我在我的代码中打开,我必须检查它。如果win列包含0我不打印出来,所以如果它包含非零数字,我会在屏幕上显示它。但是,我有多个要处理的数字列表,我找不到如何只处理一列数字。

我的代码将是

if option == ("C") or option == ("c"):
    answer = False
    file_3 = open("firesideResults.txt")
    for column in file_3:
        if ("0" not in column):
            print(column)

但遗憾的是,其他一列代码中包含0,所以我不能这样做。感谢您的帮助,如果可能的话,请列出我可以查询帮助的任何问题,因为我一直在寻找帮助。

1 个答案:

答案 0 :(得分:0)

由于您使用逗号分隔字段,因此最好的方法是使用csv

import csv

with open("firesideResults.txt") as file_3:
    cr = csv.reader(file_3)
    for row in cr:
        if row[2]!="0":
            print(row)

如果每行的第三列不为0,则打印出来。

  • 没有子字符串问题:检查确切字段
  • 检查" win"只有列,而不是其他列。