python 關於如何把json文件里面的多條數據刪除,只保留自己需要的條目


參考博客:

https://www.cnblogs.com/bigberg/p/6430095.html

https://zhidao.baidu.com/question/717320833852811685.html

如何把json1文件中的部分滿足條件的條目提取出來?也就是刪除自己不需要的條目。

我使用的是一個最笨拙的方法,就是把json1文件中的數據一條條json行轉化為字典進行查看,如果滿足條件則另存成一個json2文件里面。

1、加載json庫:

 1 import json 

2、打開json1文件用於讀取:

 2 aminerFile = open(r'...\json1.txt','r') 

3、打開json2文件用於寫入:

 3 with open(r'...\json2.txt','w') as jsonFile: 

4、按行讀取json1文件:

 4 for jsonLine in aminerFile: 

5、字符串格式轉化成字典格式:

 5 lwPythonLine = json.loads(jsonLine) 

6、判斷當前行是否滿足我們所要求的條件(我這邊是判斷當前行中是否有’r‘屬性,且’r‘值的長度不能低於20維則保存,其他的丟棄):

 6 if ('r' in lwPythonLine) and len(lwPythonLine['r']) >= 20: 

7、如果滿足條件則將當前行寫入到json2文件中,同時隨后在json2文件中插入換行符,是的json數據一條一條的存放,而不是一個大段:

7     json.dump(lwPythonLine, jsonFile)
8     jsonFile.write('\n')

 

就完成了,代碼全部為:

import json
aminerFile = open(r'...\json1.txt','r')
with open(r'...\json2.txt','w') as jsonFile:
    for jsonLine in aminerFile:
        lwPythonLine = json.loads(jsonLine)
        if ('r' in lwPythonLine) and len(lwPythonLine['r']) >= 20:
            json.dump(lwPythonLine, jsonFile)
            jsonFile.write('\n')

熱烈歡迎批評指正!

 


免責聲明!

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



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