2017-06-13 130 views
0

ok我放棄了試圖讓它讀取包含關鍵字的行之後的行。我生命中的兩個星期就夠了!我試圖以另一種方式繞過這條路。打印不同的行到包含關鍵字csv文件的行python 3

每個條目由五行組成。我想要的大多數文本都在第一行,我可以訪問。之前我試圖訪問包含關鍵字「Active」的行之後的行上的行[63]。這我不知道該怎麼辦。

所有五個條目在行[4]中包含相同的參考號。我可以將行[4]從第一行分配給「pid」。我希望能夠使用「pid」來檢查第二行。即,如果一行包含相同的「pid」並且在行[63]中包含關鍵字「Reported by」,則可以做一些事情。是否可以在同一代碼中使用兩個if語句來執行此操作?代碼運行但返回一個空白文本文件。 Iv在if語句之內和之外嘗試了第二個if語句。編輯;我可以將這些語句寫入兩個不同的文件。我只需要他們寫同一個文件:}

導入CSV

with open("test.csv", "r") as f, open("cops.txt", "w") as output: 
    r = csv.reader(f) 
    for row in r: 
     if "Active" in row and row[0] and row[32]: 
      pid = row[4] 
      num = row[13]   #this part is working 

     #im trying to get this to check the lines after the line with "Active" in it 

     if pid == row[4] and "Reported by" in row and row[63]: #is it possible to use variable pid from the 1st if statement in this if statement? 
      rpt_by = row[63] 
      name = row[64] 
      output.write(f"PID: {pid} - " + "{} - {}".format(row[6], row[1]) 
      + " {}\n \n \n".format(row[19]) + "{} \n \n".format(row[32]) + f"Investigating Member: {num}" +"\n\n\n\n\n") #this part is working 
      + (f"{rpt_by} + {name}") #I want to append this to my current code 
+0

感謝您的回覆。我發現很難跟隨壽。我會繼續努力直到它開始有意義。 – nodramas2011

回答