Python을 사용하여 파일에 예쁜 인쇄 JSON 데이터
클래스 용 프로젝트에는 Twitter JSON 데이터 구문 분석이 포함됩니다. 데이터를 가져 와서 별 문제없이 파일로 설정하고 있지만 모두 한 줄에 있습니다. 이것은 내가하려는 데이터 조작에는 괜찮지 만 파일을 읽기가 엄청나게 어렵고 잘 검사 할 수 없어 데이터 조작 부분에 대한 코드 작성이 매우 어렵습니다.
누구든지 Python 내에서 수행하는 방법을 알고 있습니까 (즉, 작업 할 수없는 명령 줄 도구를 사용하지 않음)? 지금까지 내 코드는 다음과 같습니다.
header, output = client.request(twitterRequest, method="GET", body=None,
headers=None, force_auth_header=True)
# now write output to a file
twitterDataFile = open("twitterData.json", "wb")
# magic happens here to make it pretty-printed
twitterDataFile.write(output)
twitterDataFile.close()
참고 저에게 simplejson 문서 등을 알려주는 사람들에게 감사드립니다. 그러나 제가 말씀 드렸듯이 이미 살펴 보았으며 계속해서 도움이 필요합니다. 진정으로 도움이되는 답변은 거기에서 발견 된 예보다 더 자세하고 설명 적입니다. 감사
또한 : Windows 명령 줄에서 시도해보십시오.
more twitterData.json | python -mjson.tool > twitterData-pretty.json
결과는 다음과 같습니다.
Invalid control character at: line 1 column 65535 (char 65535)
내가 사용중인 데이터를 주겠지 만, 용량이 매우 크고 파일을 만드는 데 사용한 코드를 이미 보셨을 것입니다.
header, output = client.request(twitterRequest, method="GET", body=None,
headers=None, force_auth_header=True)
# now write output to a file
twitterDataFile = open("twitterData.json", "w")
# magic happens here to make it pretty-printed
twitterDataFile.write(simplejson.dumps(simplejson.loads(output), indent=4, sort_keys=True))
twitterDataFile.close()
JSON을 구문 분석 한 다음 다음과 같은 들여 쓰기로 다시 출력 할 수 있습니다.
import json
mydata = json.loads(output)
print json.dumps(mydata, indent=4)
자세한 내용은 http://docs.python.org/library/json.html 을 참조 하십시오 .
import json
with open("twitterdata.json", "w") as twitter_data_file:
json.dump(output, twitter_data_file, indent=4, sort_keys=True)
json.dumps()
나중에 문자열을 구문 분석하지 않으려면 필요 하지 않으며 json.dump()
. 너무 빠릅니다.
파이썬의 json 모듈을 사용 하여 예쁜 인쇄를 할 수 있습니다 .
>>> import json
>>> print json.dumps({'4': 5, '6': 7}, sort_keys=True, indent=4)
{
"4": 5,
"6": 7
}
따라서 귀하의 경우
>>> print json.dumps(json_output, indent=4)
예쁜 형식을 원하는 기존 JSON 파일이 이미있는 경우 다음을 사용할 수 있습니다.
with open('twitterdata.json', 'r+') as f:
data = json.load(f)
f.seek(0)
json.dump(data, f, indent=4)
f.truncate()
새 * .json을 생성하거나 기존 josn 파일을 수정하는 경우 pretty view json 형식에 "indent"매개 변수를 사용하십시오.
import json
responseData = json.loads(output)
with open('twitterData.json','w') as twitterDataFile:
json.dump(responseData, twitterDataFile, indent=4)
You could redirect a file to python and open using the tool and to read it use more.
The sample code will be,
cat filename.json | python -m json.tool | more
참고URL : https://stackoverflow.com/questions/9170288/pretty-print-json-data-to-a-file-using-python
'developer tip' 카테고리의 다른 글
jQuery를 사용하여 드롭 다운 목록을 열 수 있습니까? (0) | 2020.10.10 |
---|---|
탐색 컨트롤러 내부의 탭 모음 컨트롤러 또는 탐색 루트보기 공유 (0) | 2020.10.10 |
C에서 문자열 리터럴의 "수명" (0) | 2020.10.09 |
SKScene에서 버튼 설정 (0) | 2020.10.09 |
Android에서 JSON 배열 (Json 개체 아님)을 구문 분석하는 방법 (0) | 2020.10.09 |