2013-02-13 60 views
2

内容命名多个文件,我有一个JSON格式的大.txt文件,这会导致对如下:分割txt文件根据自己在Python

{ 
    "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", 
} 

而且,这些新的2000 .txt文件必须按照被命名为“名称”属性,因此这个示例文件将被命名为“任意名称1.txt”。

任何帮助,这将不胜感激。我可以使用bash分割文件,但是这不允许我需要的命名。

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

在此先感谢

+2

如果你能解析整个文件,这是微不足道的;那么它只是一个循环遍历外部JSON列表的各个部分。你有什么尝试? – 2013-02-13 17:03:53

回答

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事后又没有排序的,但应适当分裂。

+0

感谢您的支持,它效果很好。不幸的是,生成的json文件的顺序是一个问题。您是否知道如何在原始文件中维护订单?再次感谢。 – gedwin 2013-02-14 18:12:54