2

次のように続く JSON 形式の大きな .txt ファイルがあります。

{
    "Name": "arbitrary name 1",
    "Detail 1": "text here",
    "Detail 2": "text here",
    "Detail 3": "text here",
},
{
    "Name": "arbitrary name 1",
    "Detail 1": "text here",
    "Detail 2": "text here",
    "Detail 3": "text here",
},

など、2000 エントリの場合。

私がやろうとしているのは、JSON フォーマットを保持しながら、このファイルを個々の .txt ファイルに分割することです。

したがって、本質的には、次のように } の後にファイルを分割して、2000 個の新しい .txt ファイルを作成する必要があります。

{
    "Name": "arbitrary name 1",
    "Detail 1": "text here",
    "Detail 2": "text here",
    "Detail 3": "text here",
}

さらに、これらの 2000 個の新しい .txt ファイルは、「名前」属性に従って名前を付ける必要があるため、この例のファイルは「任意の名前 1.txt」という名前になります。

これについての助けをいただければ幸いです。bash を使用してファイルを分割することはできますが、必要な名前を付けることができません。

ファイルに正しい名前を付けることができるPythonソリューションを誰かが見つけるのを手伝ってくれることを願っています。

前もって感謝します

4

1 に答える 1

2
import json
with open('file.txt', 'r') as f:
    data = json.loads(f.read())
for line in data:
    with open(line['Name'] + '.txt', 'w') as f:
        f.write(json.dumps(line))

結果のjsonは後でソートされませんが、適切に分割する必要があることに注意してください。

于 2013-02-13T17:59:54.437 に答える