파이썬에서 CSV를 Json으로 변환하는 동안 필드를 부동 소수점으로 지정하는 방법은 무엇입니까?

스리 스리

csv를 줄 바꿈으로 구분 된 json으로 변환하고 있습니다.

import csv
import json

csvfile = open('input.csv', 'r')
jsonfile = open('output.json', 'w')

reader = csv.DictReader( csvfile, fieldnames)
for row in reader:
    json.dump(row, jsonfile)
    jsonfile.write('\n')

입력:

firstname,secondname,id,marks
John,Doe,001,50
George,Washington,002,100

산출:

{"firstname": "John", "secondname": "Doe", "id": "001", "marks": "50"}
{"firstname": "George", "secondname": "Washington", "id": "002", "marks": "100"}

꽤 좋습니다. 그러나 내가 사용하고있는 검색 애플리케이션은 이미 스키마에서 "marks"필드를 float로 정의했기 때문에 파일 업로드를 거부합니다. 숫자 필드 주변의 따옴표를 제거한 경우에만 허용됩니다. 따라서 출력이 다음과 같아야합니다.

원하는 출력 :

{"firstname": "John", "secondname": "Doe", "id": "001", "marks": 50}
{"firstname": "George", "secondname": "Washington", "id": "002", "marks": 100}

csv를 json으로 변환하는 동안 필드를 float / string으로 지정할 수있는 방법이 있습니까? (마크를 문자열로 사용하여 스키마를 다시 매핑하면 벗어날 수 있지만 응용 프로그램에서 "마크로 정렬"옵션을 잃게됩니다).

웁스

하나의 dict 항목을 float로 변환 :

row["marks"] = float(row["marks"])

코드에 통합 :

for row in reader:
    row["marks"] = float(row["marks"])
    json.dump(row, jsonfile)
    jsonfile.write('\n')

참조 : 문자열을 float 또는 int로 구문 분석하는 방법은 무엇입니까?

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관