複数のファイルにわたって辞書に似たオブジェクトの値を計算します。

複数のファイルにわたって辞書に似たオブジェクトの値を計算します。

次の形式の txt ファイルが 3 つあります。

ファイル1:

{
"username1":10,
"username2":11,
"username3":100,
}

ファイル2:

{
"username1":4,
"username5":15,
"username6":25,
}

ファイル3:

{
"username1":6,
"username2":19,
"username6":25,
}

dict各ユーザー名の値の合計を含むjsonファイル(オブジェクト)が必要です。つまり、私は以下が欲しい:

{
"username1":20,
"username2":30,
"username3":100,
"username5":15,
"username6":50,
}

各ユーザー名は各ファイルに表示でき、各ユーザー名は各ファイルに一度だけ表示できます。文字列は、usernamei長さが1より大きい英数字の文字列です。Stacy60または背中にするevergreenこと0ができます。

つまり、username1file1に表示されると、file1に一度だけ表示され、file2、file3、またはその両方に再び表示されることがありますが、各ファイルには一度だけ表示されます。

grepこれはtxtファイルなので、Pythonからdictオブジェクトとして読み取ることが困難で、良い解決策があると思いましたcat。しかし、どうすればきちんとできるのか分かりません。私は試した:

grep -o '[[:alnum:]]":"[0-9]+" ./file_*.txt | cut -d '"' f1 | sort | uniq -c > all_usernames.json

うまくいきませんが、どのように修正するのかわかりません。

ベストアンサー1

おすすめ記事