2014-08-17 4 views
-1

В настоящее время я участвую в математике машинного обучения (точнее, НЛП). Хотя в задаче я столкнулся с проблемой. Я хочу, чтобы напечатать строки, содержащие любой из следующих регулярных выражений:python/perl скрипт для извлечения текста

1) fbchat

2) fb_timeline

3) Facebook стене

в отдельные текстовые файлы, один для каждой строки упомянутое выше.

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

Загружаемый ссылка на дамп базы данных приводится ниже

messages.dmp

Update:

Это сценарий, я пытался написать:

import re 
from sys import argv 

scrip, file_name = argv 

dfile = open(file_name, 'r') 

for line in dfile: 
    if re.match("fbchat", line): 
     print line 

Но сценарий не выполняет ничего ,

+2

Я понимаю, что вы 'теоретический человек с очень меньше программирования experience' но, пожалуйста, обратитесь к [помощь] (http://stackoverflow.com/tour) You не можете задавать «вопросы, которые вы не пытались найти для ответа», вам нужно показать свою работу. –

+0

@KobiK Я обновил свой вопрос ... PLS пройти через –

ответ

1

Учитывая следующий текстfile.txt:

text1 
fbchat ! 
text2 
Facebook Wall Post line 

Вы можете использовать следующий код :

# open the file 
with open('c:\\file.txt') as f: 
    # read all lines as list 
    lines = f.readlines() 
# iterate over the list 
for line in lines: 
    # if any of the the strings in the list is in the line print it (using list comprehensions) 
    if any(s in line for s in ['fbchat', 'fb_timeline', 'Facebook Wall Post']): 
     # print but first remove new line character 
     print line.strip("\n") 

Выход:

fbchat ! 
Facebook Wall Post line 

Вы можете прочитать больше о Python With, Python: List Comprehensions, Strip()

+0

Thanx это сработало .... но не могли бы вы указать, какие ошибки были там в моем сценарии .... это было бы полезно, поскольку я собираюсь учиться .. ............ и спасибо за обмен дополнительными ресурсами .... его очень сложно для новичков отфильтровывать огромное количество материала, который google поднимает для любого справочного запроса ..... –

+0

Рад его помог, проблема была с пониманием 're.match()', вы можете прочитать это [учебное пособие] (http://www.tutorialspoint.com/python/python_reg_expressions.htm) о регулярном выражении и python, это коротко и просто, также вы можно попробовать [это] (http://stackoverflow.com/q/13423624/1982962) сообщение. –

+0

, но я не могу придумать решение для второй части .... то есть, если я получаю все строки, содержащие ** fbchat ** в файле чата ... как я смогу сортировать эти строки на основе поле ** резьбы ID ** в них ... pls go thru ... спасибо –

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