2016-08-04 6 views
0

Я пытаюсь написать свой первый скрипт Python, который печатает, какие клиенты исследуют AP и какие AP они делают. Таким образом, моя проблема возникает, когда клиент (ну, а не клиент) проверяет более чем одну точку доступа.Дополнительные поля в CSV

import csv 
import sys 

if len(sys.argv) != 2: 
    print("usage: ./scriptpy.py csvfile") 
    pass 
else: 
    with open(sys.argv[1], 'rb') as csvfile: 
     lector = csv.DictReader(csvfile, restkey='extra') 
     for row in lector: 
      print(row['Station MAC'] + " probes for " + row[' Probed ESSIDs'] + row['extra']) 
      pass 

это вызывает исключение KeyError в строке [дополнительный]

Спасибо заранее.

+0

Обычно CSV-файлы представляют собой текстовые файлы. Вы уверены, что этот файл является байтовым файлом, чтобы открыть его с помощью 'rb'? – chapelo

+0

Что означает «AP»? – martineau

+0

Я использовал rb, потому что это то, как это делает ссылка csv на Python. Точка доступа – enigma21

ответ

1

Один из способов борьбы с основными ошибками является .get('my_key', 'alternate_value'), как это:

row.get('extra', '') # rather than row['extra'] 
+0

Спасибо! Оно работает – enigma21