MemoryError处理来自请求的大量数据

时间:2019-05-20 17:45:13

标签: python pandas

我正在使用请求从Rest API下载数据,并使用数据框将其下载为平面文件。我收到以下内存错误。关于解决这个问题有什么建议吗?

File "C:\Python\Python37-32\my_script.py", line 74, in <module>
df1= pd.DataFrame(my_list)
File "C:\Python\Python37-32\lib\site-packages\pandas\core\frame.py", line 
435,
in __init__
arrays, columns = to_arrays(data, columns, dtype=dtype)
File "C:\Python\Python37-32\lib\site- 
packages\pandas\core\internals\construction.py", line 407, in to_arrays
coerce_float=coerce_float, dtype=dtype)
File "C:\Python\Python37-32\lib\site- 
packages\pandas\core\internals\construction.py", line 477, in 
_list_of_dict_to_arrays
data = [(type(d) is dict) and d or dict(d) for d in data]
File "C:\Python\Python37-32\lib\site- 
packages\pandas\core\internals\construction.py", line 477, in <listcomp>
data = [(type(d) is dict) and d or dict(d) for d in data]
MemoryError

尝试使用带有stream = True的simplejson

r = requests.get(url, stream=True)
result = simplejson.loads(r.text)

1 个答案:

答案 0 :(得分:0)

取决于数据集的大小。如果您要处理的巨大数据集超出了本地内存的限制,则将无法执行此操作。这些库将整个数据直接加载到内存中,对于大数据来说,这永远不是一个好方法。