我有一個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,是文本文件中的每一行_guaranteed_是一個完整的JSON對象嗎? –
@ PM2Ring是的,它返回一個完整的JSON對象 –