2016-03-04 5 views
1

У меня есть текстовый файл, который содержит данные, какизвлечения Python переменной длиной текста из файла

Tweet_id:"123456789", "text":"What an episode", "truncated":"false",Tweet_id:"12345678910", "text":My number is fascinating", "truncated":false 

Я хочу, чтобы извлечь только текстовое поле

Tweet_id:"123456789", **"text":"What an episode", "truncated"**:"false",Tweet_id:"12345678910", **"text":My number is fascinating", "truncated":false** 

ответ

1

Я не уверен, какая часть точно Вы хотите извлечь, но я предлагаю вам использовать regular expressions.

>>> import re 
>>> string = 'Tweet_id:"123456789","text":"What an episode","truncated":"false,Tweet_id:"12345678910","text":My number is fascinating","truncated":false' 
>>> re.findall('\"text\":(.*?),', string) 
['"What an episode"', 'My number is fascinating"'] 
2

Это естественное приложение regular expressions.

import re 

text_re = re.compile(""" 
    "text":"   # This matches the part right before what you want. 
    (?P<content>[^"]+) # Matches the content 
    "     # Matches the close-quote after the content. 
""", re.VERBOSE) 

for match in text_re.finditer('Tweet_id:"123456789","text":"What an episode","truncated":"false,Tweet_id:"12345678910","text":"My number is fascinating","truncated":false"'): 
    print match.group('content') 

Это будет печатать:

What an episode 
My number is fascinating 

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

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