2012-05-25 6 views
0

저는 Kiva 용 Python에서 간단한 JSON to CSV 변환기를 작성하려고합니다. 나는이 같은 외모와 함께 일하고 JSON 파일 : 나는 json.load를 사용할 때Python에서 JSON 가져 오기 및 헤더 제거

{"header":{"total":412045,"page":1,"date":"2012-04-11T06:16:43Z","page_size":500},"loans":[{"id":84,"name":"Justine","description":{"languages":["en"], REST OF DATA 

문제는, 난 단지 문자열 "헤더"데이터에서 "대출"가 아니라 실제 같은 정보를 얻을 수 이드, 이름, 설명 등으로 어떻게 할 수 있습니까? 처리 할 파일이 너무 많아서 각각의 파일을 수동으로 삭제할 수 없습니다.

import csv 
import json 

fp = csv.writer(open("test.csv","wb+")) 

f = open("loans/1.json") 
data = json.load(f) 
f.close() 

for item in data: 
    fp.writerow([item["name"]] + [item["posted_date"]] + OTHER STUFF) 

답변

0

data는 사전, 그래서 for item in data을 반복 (Iteration) : 내 현재 코드입니다. 당신이에 키 입력해야하므로

당신은 아마 for loan in data['loans']:

+0

아, 알겠습니다. 따라서 모든 키의 모든 데이터를 반복하고 싶다면 루프를 중첩시킬 것입니다. 데이터의 키에 대해 DO STUFF – anqif

+0

할 수는 있지만 파이썬에서는 가능합니다. iterating keys + values ​​당신은 대개 다른 for-loop를 사용하는 대신에 동시에 두 번 반복합니다 :'key, value in data.items() : DO STUFF' –

3

대신

for item in data: 

사용하려는

헤더가 data['header']data 자체에 저장되어
for item in data['loans']: 

는 사전입니다 그것은 데이터에 액세스하기 위해서입니다.

+0

오, 알겠습니다. 고맙습니다. 내 코드 내에서 헤더 및 대출 정보를 참조 할 수있는 방법이 있는지 궁금합니다. Newbie Python 사용자인데, 사전은 여전히 ​​나를 혼란스럽게합니다. – anqif