私はJSONファイルを持っており、次の10個のオブジェクトをファイル内ののリストを返す関数を作成したいと考えています。私はクラスFileProcessor
とメソッドget_row()
から始め、ファイルから単一のJSONオブジェクトを生成するジェネレータを返します。別のメソッドget_chunk()
は、次の10個のオブジェクトを返す必要があります。ここでファイルからチャンクを生成
私がこれまで持っているものです。
class FileProcessor(object):
def __init__(self, filename):
self.FILENAME = filename
def get_row(self):
with open(os.path.join('path/to/file', self.FILENAME), 'r') as f:
for i in f:
yield json.loads(i)
def get_chunk(self):
pass
私はこのように試してみたが、それは唯一の最初の10行ごとに時間を返します。
def get_chunk(self):
chunk = []
consumer = self.consume()
for i in self.get_row():
chunk.append(i)
return chunk
get_chunk()
を書き込む正しい方法は何ですか?
標準ライブラリに含まれているjsonパーサがインクリメンタルロードをサポートしていませんか?それともそれを拡張することはできませんか? – SwiftsNamesake
'FileProcessor.get_row'メソッドは正しく動作しますか? IOW、テキストファイル_保証の各行は完全なJSONオブジェクトですか? –
@ PM2Ringはい、それは完全なJSONオブジェクトを返しています –