從一個文件夾中的多個文件加載 json 並將它們放入一個字典(或列表)中

奧巴馬VEVO

我有多個文本文件,裡面有這個(具有不同的值):

{"abandon": {"R1F2V0CQAYJOZZ": 2, "R3NUFWQ9SPGVJO": 1}, "abduct": {"R1F2V0CQAYJOZZ": 1, "R3376OQSHCTV1A": 1, "R14BW4EQZNVKKG": 1, "R233CMES8RCOCU": 1},

如果我在線格式化它會變成這樣:

   "abandon":{
      "R1F2V0CQAYJOZZ":2,
      "R3NUFWQ9SPGVJO":1
   },
   "abduct":{
      "R1F2V0CQAYJOZZ":1,
      "R3376OQSHCTV1A":1,
      "R14BW4EQZNVKKG":1,
      "R233CMES8RCOCU":1
   },

這個 JSON 的意思是:

"word":{
   "Document name":"value"
},

但是在不同的文件中有重複的單詞。我想要做的是:讀取所有文件並將所有內容存儲在一本字典中,但是:

  1. 如果字典中存在“單詞”,則檢查“文檔”是否存在;
  2. 如果“文檔存在”,則增加“值”,否則將文檔放在那裡並且“值= 1”
  3. 如果“word”不存在,則存儲“word”、“document”和“value = 1”

編輯:

所以想像一下這兩個文件:

File1.txt = {"abandon": {"doc1": 2, "doc2": 1}, "abduct": {"doc1": 1, "doc2": 1, "doc8": 1},

File1.txt = {"abandon": {"doc1": 1, "doc3": 1}, "abduct": {"doc5": 1, "doc8": 1},

我希望我的字典以這樣的方式結束:

{"abandon": {"doc1": 3, "doc2": 1, "doc3": 1}, "abduct": {"doc1": 1, "doc2": 1, "doc5": 1, "doc8": 2},

EDIT2:它也可以是嵌套列表

not_speshal

IIUC,嘗試:

import os
import json

files = [f for f in os.listdir() if f.endswith(".txt")]
result = dict()

for file in files:
    d = json.load(open(file))
    for word in d:
        if word not in result:
            result[word] = dict()
        for doc in d[word]:
            if doc not in result[word]:
                result[word][doc] = d[word][doc]
            else:
                result[word][doc] += d[word][doc]

>>> result
{'abandon': {'doc1': 3, 'doc2': 1, 'doc3': 1},
 'abduct': {'doc1': 1, 'doc2': 1, 'doc8': 2, 'doc5': 1}}

輸入文件:

文件1.txt:

{"abandon": {"doc1": 2, "doc2": 1}, "abduct": {"doc1": 1, "doc2": 1, "doc8": 1}}

文件2.txt:

{"abandon": {"doc1": 1, "doc3": 1}, "abduct": {"doc5": 1, "doc8": 1}}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Python Flask json,我有一個需要加載的字典列表,然後將它們作為 html 中的表格返回

windows下如何將一個文件夾複製到多個文件夾中

使用 URL 打開多個 Json 文件並使用 Python 下載每個文件中包含的文件

根據兩個文件中的匹配部分將數據從一個文件加載到另一個文件

將多個 JSON 文件轉換為 CSV 文件,每個文件在一列中

如何將文件夾中的所有文件作為輸入(一次一個)並在處理後將它們保存到另一個文件夾中?

Python 在一個類中將多個文本文件作為列表讀取,然後在另一個類中迭代它們

在一個類中將多個文本文件作為列表讀取,然後在另一個類中迭代它們

將多個字典一起添加到列表中取決於它們的相同屬性

在nodejs中寫一個json文件

如何在python中將多個文件從windows文件夾上傳到SFTP文件夾

flutter:是否可以從另一個文件加載由 const 定義的列表?

使用 jq 從同一個鍵中選擇多個 JSON 值?

如何在一個目錄中創建多個文件夾?

將文件中的多個json對象轉換為python中的列表

如何將多個 csv 文件加載到 Python 中的可迭代變量?

將每行一個 JSON 文檔的大文件轉換為單個 JSON 列表

使用 PHP 中的一些更改值從另一個文件創建新的 JSON 文件

如何從一個長字符串中提取 2 個日期並將它們放在兩個不同的列中?

將文件從文件夾複製到具有特定文件名的另一個文件夾中的文本框

如何使用多個java文件,每個文件夾中的每個文件?

從一個數組中刪除元素並將它們添加到一個新數組中

如何處理 IoTDB 數據庫中的“無法從 [[...]] 獲取下一個文件夾,因為它們都已滿”錯誤

將列表中的所有字符串從它們的第一個 '\n' 切片

查找系統中的所有圖像,然後將它們複製到一個文件夾中

從兩個列表中刪除 'a' 和 'A' 字符並將它們作為對返回

如何使用 Maven 將所有依賴項放入 JAR 文件中的一個文件夾中?

我想刪除列表中小於 80 的所有數字並將它們移動到另一個列表中

如何將所有提交關聯到一個文件夾並將其放入新的存儲庫中?