2013-07-03 4 views
1

Извиняюсь, что этот вопрос несколько расплывчато, я новичок в Python ...Синтаксический разделителями табуляцией файл

мне нужно разобрать табуляцией текстовый файл. Это очень большой файл, и я пытаюсь определить и извлечь конкретные вещи. Например, если одна строка была:

[Яблочная банановая дата] Я хочу найти и идентифицировать термин «яблоко», а затем извлечь термин «дата».

Затем мне нужно Acces список извлеченных терминов и использовать их (для сравнения с другими списками и т.д.)

Я прочитал о регулярных выражениях, но в то время как это, кажется, хорошо для поиска, я не знаю, как использовать его для извлечения других терминов, кроме искомого ключевого слова .. Также я не уверен, как получить доступ к массиву результатов после разбора .. манипулировать массивом результатов.

Любая помощь/направление/указатели/предложения/примеры были бы потрясающими.

Большое вам спасибо!

+0

Пожалуйста, переломите свои проблемы на более мелкие проблемы, а затем попробуйте найти ответы. –

+0

Возможный дубликат [синтаксический анализ файла с разделителями табуляции в Python] (http://stackoverflow.com/questions/11059390/parsing-a-tab-separated-file-in-python) – RedBaron

ответ

1

http://docs.python.org/2/library/re.html

Вот простой пример:

import re 
# This regular expression detects base-64 encoded images 
regex = '(?P<src>data:image/png;base64, (?<image>[^"]*))' 
# you can then either 
# a) 
matches = re.findall(regex, your_input_string) 
for m in matches: 
    # address your matches with index notation 
    src = m[0] 
    data = m[1] 
# b) 
src = re.search(regex, your_input_string).group('src') 
data = re.search(regex, your_input_string).group('data') 
+1

Модуль csv оскорбил вас в некоторых путь? – LtWorf

+0

Я никогда не слышал о модуле csv. Кроме того, OP сказал, что не знает, как использовать регулярные выражения для извлечения терминов. Поскольку я кое-что знал об этом, это был ответ, который я внес. –

3

Если файл с разделителями табуляции, обычно это знак для использования csv модуля:

>>> import csv 
>>> with open('eggs.csv', 'rb') as csvfile: 
...  reader = csv.reader(csvfile, dialect=csv.excel_tab) 
...  for row in reader: 
...   print row 

Трудно сказать больше не любой конкретный пример.

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