达到将熊猫数据帧转换为 Json 的最大递归级别

我有一个熊猫数据帧,其中包含数千行和几列。我在尝试将其转换为json文件时遇到错误。


这是要转换的代码:


sessionAttendance.to_json('SessionAttendance.json')

这是我得到的错误:


OverflowError: Maximum recursion level reached



                             _id       wondeID  session               updatedAt

0       123456789101112131415161  AA1234567891        AM 2019-06-21 08:05:50.845

1       123456789101112131415162  AA1234567892        AM 2019-06-21 08:05:50.845

2       123456789101112131415163  AA1234567893        AM 2019-06-21 08:05:50.845

3       123456789101112131415164  AA1234567894        AM 2019-06-21 08:05:50.845



[234195 rows x 4 columns]


回首忆惘然
浏览 184回答 2
2回答

扬帆大鱼

它似乎与Mongo格式化其字段的方式有关,这些字段未被模块正确处理。解决方法是设置为强制 json 格式化程序对任何不需要的类型使用字符串表示形式:_idjsondefault_handler=strsessionAttendance.to_json('SessionAttendance.json', default_handler=str)免责声明:应注明给其他SO帖子

红颜莎娜

import sys sys.setrecursionlimit(1500) # this number can be any limit如果它是一个表,上面的代码应该修复它。如果您的 pandas 数据框本身具有对象列,则可能需要确保对象中没有循环依赖关系https://github.com/pandas-dev/pandas/issues/4873它可能与上面发布的问题有关。要超越它,请首先将日期时间列转换为字符串df['updatedAt'] = df['updatedAt'].dt.strftime('%Y-%m-%d %H:%M:%S')将其转换为 json 应该可以正常工作。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python