我正在尝试从 API 处理 jsonlines,但遇到了 requests.iter_lines() 不及时的问题。我现在必须尝试合并 requests.iter_content(chunk_size=1024*1024)。我正在尝试处理我需要获取不完整的 jsonline [1] 并将其附加到下一个 chunk_size 的逻辑,以便它成为一个完整的。
我目前的尝试是运行一系列 if 语句来检测不受欢迎的状态 [2],然后重建它并继续处理,但我无法在所有可能最终出现的状态下重新组装它。有人有这个问题的深思熟虑的解决方案的例子?
[1]
例子:
第一个块的最后一项:
{'test1':'value1','test2':'value
第二块的第一项:
e2','test3':'value3'}
[2] def不完整处理器(main_chunk):
if not main_chunk[0].startswith('{') and not main_chunk[-1].endswith('\n'):
first_line = str(main_chunk[0])
last_line = str(main_chunk[-1])
main_chunk.pop(0)
main_chunk.pop(-1)
return first_line, last_line
if not main_chunk.startswith('{') and main_chunk[-1].endswith('\n'):
first_line = str(main_chunk[-1])
main_chunk.pop(0)
return first_line
if main_chunk.startswith('{') and not main_chunk[-1].endswith('\n'):
last_line = str(main_chunk[-1])
main_chunk.pop(-1)
return last_line