2015-06-22 3 views
0

Итак, я пытаюсь открыть некоторые json-файлы, чтобы найти год публикации и отсортировать их соответственно. Но прежде чем это сделать, я решил поэкспериментировать с одним файлом. У меня проблема, потому что, хотя я могу получить файлы и строки, когда я пытаюсь напечатать одно слово, он начинает печатать символы.Json Files parsing

Например:

печать data2 [1] #prints

невесты украшение, ЗВП. Fiue MEDITATIONS, Моралл и Подлинный. #results

но теперь печать data2 [1] [0] #should печати

T #prints T

Это мой код прямо сейчас:

json_data =open(path) 
data = json.load(json_data) 
i=0 

data2 = [] 

for x in range(0,len(data)): 
    data2.append(data[x]['section']) 
    if len(data[x]['content']) > 0: 
     for i in range(0,len(data[x]['content'])): 
      data2.append(data[x]['content'][i]) 

ответ

0

Я, вероятно, нужно чтобы посмотреть на ваш json-файл, чтобы быть абсолютно уверенным, но мне кажется, что список data2 представляет собой список строк. Таким образом, data2 [1] является строкой. Когда вы выполняете data2 [1] [0], ожидаемый результат - это то, что вы получаете - символ в 0-м индексе в строке.

>>> data2[1] 
'THE BRIDES ORNAMENTS, Viz. Fiue MEDITATIONS, Morall and Diuine.' 
>>> data2[1][0] 
'T' 

Чтобы получить первое слово, наивности, вы можете разделить строку пробелами

>>> data2[1].split() 
['THE', 'BRIDES', 'ORNAMENTS,', 'Viz.', 'Fiue', 'MEDITATIONS,', 'Morall', 'and', 'Diuine.'] 
>>> data2[1].split()[0] 
'THE' 

Однако это вызовет проблемы с пунктуацией, так что вам, вероятно, нужно разметить текст. Эта ссылка должна помочь - http://www.nltk.org/_modules/nltk/tokenize.html