Подтвердить что ты не робот

Заголовки csv python

У меня есть набор заголовков csv, которые я пытаюсь сопоставить с загрузками. Это не работает. Не все заголовки требуются - мне просто нужно сопоставить то, что в файле.

reader = csv.DictReader(open(PathFile))
headers = reader.fieldnames
for header in sorted(set(headers)):
     if (header == 'ip') or (header == 'IP'):
         print  "IP found in Header"

В этом случае IP не найден.

for row in reader:
     if row.get('IP'):
         print  "IP found in Row"

Он снова не найден. Я искал на этом сайте - было:

IP = row.get('IP', None)

Это тоже не сработало.

Это файл, который я использую для тестирования:

Email, IP, Name, City, State, zip, country, garbage
[email protected], 34.4.34.34,Mr GH, chicago, il ,60601, us,erw ewr 
[email protected], 34.45.23.34, Mr 5t,NY,NY,10101, us, er
4b9b3361

Ответ 2

Я не совсем уверен, чего вы хотите достичь, но если вы просто хотите знать, есть ли в CSV столбцы, и вы уверены, что все строки имеют одинаковые столбцы, и вы хотите использовать диктофон, используйте этот

s="""col1,col2,col3
ok,ok,ok
hmm,hmm,hmm
cool,cool,cool"""

import csv

reader = csv.DictReader(s.split("\n"))
print reader.fieldnames
for row in reader:
    for colName in ['col3', 'col4']:
        print "found %s %s"%(colName, colName in row)
    break

Он выводит

found col3 True
found col4 False

или что-то вроде этого тоже будет работать

reader = csv.reader(s.split("\n"))
columns = reader.next()
for colName in ['col3', 'col4']:
    print "found %s %s"%(colName, colName in columns)