读取json文件中多个json对象

一、读取json文件中多个json对象

文件的格式如下图:

拿到文件首先尝试with open读取,马上报错。原因是一个文件中有多个json,这种情况使用json.load()就无法读取了。
我的文件格式是[{{}},{{}},{{}}]这种格式。从上图也能看出,如果是每行一个json的话还是可以使用readline然后load来处理。但可惜我的json文件是格式化的。
所以只能想别的办法,网上搜了一下给的解决方案是一个decdoe什么的模块,看了半天没看出个所以然来,而且资料很少,就没有尝试。
想过将数据文件保存成csv然后用pandas读取,可惜转成csv后dict里的键值关系全乱套了。
苦思冥想之后突然想到既然pandas能读取csv能不能读取json呢,然后尝试一下,大赞。

import pandas as pd
#读取文件
frame = pd.read_json(r'C:\Users\zhaobw\Desktop\news.txt')
#设置显示所有列
pd.set_option('display.max_columns', None)
# print(frame)
#遍历dataframe中的所有行
for index, row in frame.iterrows():
    print(row["_id"], row["_source"])
    #解析行里的dict内容
    mydict = row["_source"]
    for key in mydict:
        print(key['_ch'])
posted @   名字很长容易被惦记  阅读(2742)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 对象分配(Alloc)底层原理浅谈
· 聊一聊 C#异步 任务延续的三种底层玩法
· 敏捷开发:如何高效开每日站会
· 为什么 .NET8线程池 容易引发线程饥饿
· golang自带的死锁检测并非银弹
阅读排行:
· 一个适用于 .NET 的开源整洁架构项目模板
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· .NET 依赖注入中的 Captive Dependency
点击右上角即可分享
微信分享提示