Python中文
首页
教程
问答
标签
搜索
登录
注册
写入时在JSON对象之间添加逗号,
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在使用IJSON解析一个非常大的JSON文件,然后将内容写入一个临时文件。之后,我用临时文件的内容覆盖原始文件</p> <pre><code>FILE_NAME = 'file-name' DIR_PATH = 'path' #Generator function that yields dictionary objects. def constructDictionary(): data = open(os.path.join(DIR_PATH, FILE_NAME + ".json"), "rb") row = ijson.items(data,'item') for record in row: yield record data.close() def writeToTemp(row, temp): #Needs to add a comma json.dump(row, temp) def writeTempToFile(temp): temp.seek(0) data = open(os.path.join(DIR_PATH, FILE_NAME + ".json"), "wb") data.write(b'[') for line in temp: data.write(line.encode('utf-8')) data.write(b']') data.close() if __name__ == "__main__": temp = tempfile.NamedTemporaryFile(mode = 'r+') for row in constructDictionary(): writeToTemp(row,temp) writeTempToFile(temp) temp.close() </code></pre> <p>我的问题是,最终编写的JSON对象之间没有逗号。我无法再次解析文件并添加缺少的逗号,因为这将花费太长的时间。理想情况下,在编写时,我可以在每个json.dump()的末尾添加一个逗号。但是,我该如何处理最后的条目呢</p> <p>确定生成器函数何时到达文件末尾的某种方法?然后我会使用一个标志或传递一个变量,这样它就不会写最后一个逗号</p> <p>或者,我可以使用file.seek()转到最后一个字符之前的字符并将其删除。但这听起来不太好</p> <p>如果您有任何建议,我将不胜感激,谢谢</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>您是否尝试过这个json.dump(行、临时、缩进=4)</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
基于ajax中的表单数据,以10为基数的int()的文本无效
6 回答
基于AJAX的CRUD的Python web框架
4 回答
基于Ajax的Django多回波场
7 回答
基于ajax的jqueryhtml(文本)解析
7 回答
基于AJAX的网站的Scrapy请求有效负载格式和类型
9 回答
基于AJAX的远程在线文本edi
5 回答
基于alembic scrip的并发数据库表索引
3 回答
基于alpha-beta剪枝的minimax节点值求方向
9 回答
基于alpha-lay的PNG图像OpenCV边缘检测
6 回答
基于alpine的docker image中RobotFrameworkShLibrary的安装
9 回答
基于alt attribu的python selenium点击
4 回答
基于Altair中alt.颜色字段的排序
8 回答
基于anaconda(包括fbproph)为python创建exe
10 回答
基于Anaconda2 for pySCA教程的StructureBuilder(Biopython)中的一个错误,为什么蛋白质链是不连续的?
10 回答
基于anacond的随机森林交叉验证
4 回答
基于android的PySide QML项目
1 回答
基于ang的旋转乐高nxt
5 回答
基于ann的相关场Django滤波器
7 回答
基于anoth中匹配项的元组排序列表
10 回答
基于anoth中的值自行创建列
2 回答