0

カーン アカデミーの数学の問題のオフライン コピーを作成するプログラムを作成したいと考えています。私は彼らのすべての演習に関するデータを含む 21.6MB の巨大なテキスト ファイルを持っていますが、それを分析し始める方法がわかりません。

JSON データのサンプルを含むペーストビンを次に示します。すべてを見たい場合は、ここで見つけることができます。長いロード時間の警告。

これまで JSON を使用したことはありませんが、簡単な Python スクリプトを作成して、データの個々の「サブブロック」(または同等の正しい用語) をロードしようとしました。

import sys
import json

exercises = open("exercises.txt", "r+b")
byte = 0
frontbracket = 0
backbracket = 0
while byte < 1000: #while byte < character we want to read up to
                   #keep at 1000 for testing purposes
    char = exercises.read(1)
    sys.stdout.write(char)
    #Here we decide what to do based on what char we have
    if str(char) == "{":
        frontbracket = byte
        while True:
            char = exercises.read(1)
            if str(char)=="}":
                backbracket=byte
                break
        exercises.seek(frontbracket)
        block = exercises.read(backbracket-frontbracket)
        print "Block is " + str(backbracket-frontbracket) + " bytes long"
        jsonblock = json.loads(block)
        sys.stdout.write(block)
        print jsonblock["translated_display_name"]
        print "\nENDBLOCK\n"


    byte = byte + 1
4

1 に答える 1