Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 捕获df.to_json()异常_Python_Json_Pandas_Dataframe_Exception - Fatal编程技术网

Python 捕获df.to_json()异常

Python 捕获df.to_json()异常,python,json,pandas,dataframe,exception,Python,Json,Pandas,Dataframe,Exception,我试图确定执行pandas DataFrame.to_json方法时失败的原因。数据帧是有效的,但它非常大,大约有1000000条记录 这是我的代码,其中预测是我的数据帧: 尝试: predictions.to_jsonwrite_文件,orient='records',line=True 除EOFError作为eoferr外: 普列特费尔 sys.exit'\n无法写入文件%s!伊奥费罗。正在退出…'%write\u文件 除IOError作为ioerr外: 打印错误 sys.exit'\n无法

我试图确定执行pandas DataFrame.to_json方法时失败的原因。数据帧是有效的,但它非常大,大约有1000000条记录

这是我的代码,其中预测是我的数据帧:

尝试: predictions.to_jsonwrite_文件,orient='records',line=True 除EOFError作为eoferr外: 普列特费尔 sys.exit'\n无法写入文件%s!伊奥费罗。正在退出…'%write\u文件 除IOError作为ioerr外: 打印错误 sys.exit'\n无法写入文件%s!权限问题正在退出…'%write\u文件 例外情况除外,如e: 版画 sys.exit'\n无法写入文件%s!未知异常。正在退出…'%write\u文件 现在,我得到一个未知的异常。退出。。。正在引发异常。提前谢谢

不是一个解决方案,而是一个变通方法

我相信这是DataFrame.to_json的内存问题-如果试图将~5M记录x 1000列的DataFrame转换为json文件,机器将挂起,并退出引发一般异常

解决方法是使用DataFrame.to_dict,然后使用json.dump:


到目前为止,这适用于任何大小的数据帧。与此同时,我将在Pandas repo上提交一个错误/问题。

可以尝试遍历行并在每行调用_json吗?谢谢@mobone-我找到了一个解决方法并将其作为答案发布。
import json

write_file = "/path/to/output.json"
holder_dictionary = predictions.to_dict(orient='records')

with open(write_file, 'w') as outfile:
    json.dump(holder_dictionary, outfile)