Python справка чтения файла CSV сбой из-за окончания строки

Я пытаюсь создать этот скрипт, который будет проверять имя хоста компьютера, а затем искать в главном списке значение, чтобы вернуть соответствующее значение в файле CSV. Затем откройте другой файл и найдите замену. Я знаю, что это должно быть легко, но в Python не так много делали раньше. Вот что у меня так далеко ...

masterlist.txt  (tab delimited)
Name                 UID
Bob-Smith.local      bobs
Carmen-Jackson.local carmenj
David-Kathman.local  davidk
Jenn-Roberts.local   jennr

Вот сценарий, который я создал до сих пор

#GET CLIENT HOST NAME
import socket
host = socket.gethostname()
print host

#IMPORT MASTER DATA
import csv, sys
filename = "masterlist.txt"
reader = csv.reader(open(filename, "rU"))

#PRINT MASTER DATA
for row in reader:
  print row

#SEARCH ON HOSTNAME AND RETURN UID



#REPLACE VALUE IN FILE WITH UID
#import fileinput
#for line in fileinput.FileInput("filetoreplace",inplace=1):
#   line = line.replace("replacethistext","UID")
#   print line

Прямо сейчас он просто настроен на печать основного списка. Я не уверен, что список нужно проанализировать и поместить в словарь или что-то еще. Мне действительно нужно выяснить, как искать в первом поле имя хоста, а затем вернуть поле во втором столбце.

Заранее спасибо за помощь, Аарон

ОБНОВИТЬ: Я удалил строку 194 и последнюю строку из masterlist.txt, а затем снова запустил скрипт. Результаты были следующими:

Traceback (последний вызов последний):
Файл "update.py", строка 3, для строки в csv.DictReader (open (fname), delimiter = '\ t'): файл "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/ python2.6 / csv.py ", строка 103, в следующем файле self.fieldnames" /System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/csv.py ", строка 90, в именах полей self._fieldnames = self.reader.next () _csv.Error: символ новой строки, видимый в поле без кавычек - вам нужно открыть файл в режиме универсального перевода строки?

Текущий используемый скрипт ...

import csv
fname = "masterlist.txt"
for row in csv.DictReader(open(fname), delimiter='\t'):
  print(row)

Ответы на вопрос(0)

Ваш ответ на вопрос