2012-07-02 2 views
0

У меня есть код, в котором я сначала конвертирую CSV-файл в несколько списков, а затем мне нужно создать подмножество исходного файла, содержащего только те, у которых есть определенное слово в столбце 5 моего файла.Python, сравнивающий строки

Я пытаюсь использовать следующий код для этого, но он дает мне синтаксическую ошибку для оператора if. Может ли кто-нибудь сказать мне, как это исправить?

import csv 
with open('/Users/jadhav/Documents/Hubble files/m4_hubble_1.csv') as f: 
    bl = [[],[],[],[],[]] 
    reader = csv.reader(f) 
    for r in reader: 
     for c in range(5): 
      bl[c].append(r[c]) 

    print "The files have now been sorted into lists" 
    name = 'HST_10775_64_ACS_WFC_F814W_F606W' 
    for c in xrange(0,1): 
     if bl[4][c]!='HST_10775_64_ACS_WFC_F814W_F606W' 
      print bl[0][c] 
+0

Подсказка: вы пропускаете ':' характер .. –

ответ

2

Вам нужно двоеточие после вашего, если тест, и вам нужно отступа если принятое положение:

if bl[4][c]!='HST_10775_64_ACS_WFC_F814W_F606W': 
    print bl[0][c] 
+1

проблемы отступом от SO являются обычно вызванный плакатом, не зная [как форматировать блоки кода] (http://meta.stackexchange.com/questions/22186/how-do-i-format-my-code-blocks). –

+0

Ах, спасибо, что объяснил это. –

Смежные вопросы