将文本文件拆分为多个根据Python内容命名的文件

时间:2013-02-13 17:01:58

标签: python split

我有一个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条目。

我要做的是将此文件拆分为单独的.txt文件,同时保留JSON格式。

所以,实质上,我需要在}之后拆分文件,以生成2000个新的.txt文件,如下所示:

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

此外,必须根据“Name”属性命名这2000个新的.txt文件,因此该示例文件将命名为“任意名称1.txt”。

对此的任何帮助将不胜感激。我能够使用bash拆分文件,但这不允许我需要的命名。

我希望有人可以帮我找到一个可以正确命名文件的Python解决方案。

提前致谢

1 个答案:

答案 0 :(得分: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之后没有排序,但应该正确拆分。