讀取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'])


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM