Наиболее удобный способ анализа таблиц, записанных в текстовые файлы, - это использование csv module . Он поддерживает любой разделитель и более удобен в использовании, чем ручной построчный анализ. Пример:
import csv
def get_first_and_last_column(filename, separator):
with file(filename, 'rb') as file_obj:
for line in csv.reader(file_obj,
delimiter=separator, # Your custom delimiter.
skipinitialspace=True): # Strips whitespace after delimiter.
if line: # Make sure there's at least one entry.
yield line[0], line[-1]
if __name__ == '__main__':
for pair in get_first_and_last_column(r'c:\temp\file.txt', ';'):
print pair
Теперь, если вы дадите ему такой файл:
Edgar; Alan; Poe
John; Smith
Lots; of; whitespace; here
Будет выдан следующий вывод:
('Edgar', 'Poe')
('John', 'Smith')
('Lots', 'here')
РЕДАКТИРОВАТЬ : пользовательские параметры csv.reader
также могут передаваться в качестве аргументов ключевых слов (спасибо, nosklo!).