我在一个文件夹中有400个json文件,我想在Python中创建400个该名称的列表

时间:2018-03-13 01:57:53

标签: python-3.x

我在一个文件夹中有400个json文件,我想创建400个该名称的列表。 所以,例如,我有这4个json文件:john.json; rick.json; tom.json; sean.json 现在我想在Python中创建4个包含每个json文件数据的列表。我想在循环中执行此操作

2 个答案:

答案 0 :(得分:1)

您可以将它们放入列表中,但是您必须创建并初始化400个列表!!

更好的方法是将它们放入字典中,其中键是文件名,值是数据。

import glob, json
from datetime import datetime

json_dict = {}
for filename in glob.glob('*.json'): 
    with open(filename, 'r') as json_data: 
        data = json.load(json_data)
        json_dict[filename] = data


def find_dates(filename):
    for k, v in json_dict.items():
        if k == filename:
            for key, value in v.items():
                for k1, v1 in value.items():
                    if k1 == 'publishTime':
                        return v1


date_1 = datetime.strptime(find_dates('jimmy.json'), '%I:%M %p - %d %b %Y')

date_2 = datetime.strptime(find_dates('john.json'), '%I:%M %p - %d %b %Y')

diff = date_2 - date_1

print(diff)

打印出来:

1 day, 0:04:00

答案 1 :(得分:1)

谢谢@johnashu的帮助。我使用下面的代码完成了它。我列出了清单。

import glob
import json
import re 
lists = [[] for k in range(100)]
m=0
for filename in glob.glob('*.json'):

    with open(filename, encoding="utf8") as json_data:
        data = json.load(json_data)

        i=0
        for r in data['TweetsList']:
            line0= data["TweetsList"][i]["pubTime"]                  
            lists[m].append(line0)
            i+=1

    m+=1