我从数据库中取出两列数据得到
data = [['美国', 46], ['英国', 27], ['中国', 26]]
如何转换为json格式的文件
{
{
name: '美国',
value: 46
},
{
name: '英国',
value: 27
},
{
name: '中国',
value: 26
},
}
求相关的python代码。最好能附上注释,本人初学者,多包涵,真的不是很会这个问题。
PHP中文网2017-04-18 09:30:56
당신이 원하는 결과는 다음과 같습니다.
으아악또는:
으아악 으아악json 형식은 실제로 Python 개체를 일반 텍스트 파일(Python용)로 직렬화합니다.
json.dumps 함수는 Python 개체를 json 문자열로 변환(직렬화)합니다. 이는 들여쓰기에 공백 4개를 사용한다는 의미입니다. 또한 일반 문자열이므로 다음을 수행할 수 있습니다.
초보자에게는 위의 코드가 이해하기 쉽지 않을 수 있습니다. 첫 번째 함수를 좀 더 바보 같은 방식으로 작성해 보겠습니다.
으아악PHP中文网2017-04-18 09:30:56
@pylego 문제가 있습니다. 출력 예제가 표준 json이 아닙니다(json의 표준 정의는 JSON 소개를 참조하세요). {}
는 Python의 사전과 유사하게 구성되어야 합니다. 키로 구성됩니다. 제공한 예는 다음과 같습니다.
분명히 규정을 준수하지 않으므로 다음과 같이 추측하세요.
으아악당신이 원하는 것입니다.
방법은 모든 사람에게 유사해야 하며 대략 세 부분으로 나눌 수 있습니다.
data
을 원하는 형식으로 변환: 사전 목록
json
모듈을 사용하여 data
를 json_data
파일에 쓰기
data
을 원하는 형식으로 변환: 사전 목록첫 번째 부분은 상당히 다릅니다. 저는 names
이 목록을 먼저 만들기로 결정했습니다.
실제로 이는 다음과 유사합니다.
으아악도 마찬가지지만 split
을 사용하는 방식이 쓰기에 빠르기 때문에 정말 마음에 듭니다(프로젝트가 많을 때는 따옴표를 많이 붙일 필요가 없습니다).
그런 다음 목록 이해를 사용하여 사전 목록을 만듭니다.
으아악먼저 for d in data
를 사용하여 data
의 각 쌍을 반복한 다음 zip
을 사용하여 프로젝트 이름을 해당 값과 결합합니다.
그런 다음 dict
은 iterables(각 항목은 두 요소 튜플과 같은 키-값 쌍임)를 가져와 사전을 생성할 수 있습니다.
json
모듈을 사용하여 data
를 json_data
로 변환합니다.
두 번째 부분, 덤프 아웃 json_data
, 이것은 매우 쉽습니다. dumps
을 사용하세요. json.dumps
sort_keys
: json의 object
에 있는 키를 정렬하며,
indent
: 들여쓰기 설정
separators
: json 출력에 대한 구분 기호를 설정합니다. ','
은 항목을 구분하는 데 사용되며 ': '
은 키와 값을 구분하는 데 사용됩니다
ensure_ascii
: 인쇄 시 유니코드 이스케이프 False
특별한 것은 없습니다. with
을 사용하여 파일 전환을 처리하고, print(file=XXX)
을 사용하여
내가 답변한 질문: Python-QA