2015-11-02 3 views
2

Я знаю, я пропускаю очевидный здесь, но я следующий код ПИТОНА, в котором я пытаюсь to-Извлечение данных значений из нескольких строк JSON в одном файле

  • Возьмите указанный файл JSON, содержащий несколько строк как вход.
  • Начало в строке 1 и искать ключевое значение «content_text»
  • Добавить ключевое значение для нового словаря и писать сказал словарь в новый файл
  • Повторить 1-3 о дополнительных файлах в формате JSON

import json 
def OpenJsonFileAndPullData (JsonFileName, JsonOutputFileName): 
    output_file=open(JsonOutputFileName, 'w') 
    result = [] 
    with open(JsonFileName, 'r') as InputFile: 
     for line in InputFile: 
      Item=json.loads(line) 
      my_dict={} 
      print item 
      my_dict['Post Content']=item.get('content_text') 
      my_dict['Type of Post']=item.get('content_type') 
      print my_dict 
      result.append(my_dict) 
    json.dumps(result, output_file) 

OpenJsonFileAndPullData ('MyInput.json', 'MyOutput.txt') 

Однако при запуске я получаю эту ошибку:

AttributeError: 'str' object has no attribute 'get' 

ответ

0

Python чувствителен к регистру.

Item = json.loads(line) # variable "Item" 
my_dict['Post Content'] = item.get('content_text') # another variable "item" 

Кстати, почему бы вам не загрузить весь файл как json сразу?

+0

Конечно! Спасибо CSZ! –

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