使用循环从目录导入多个文件

时间:2017-04-28 00:12:28

标签: python json for-loop import

我正在尝试从目录中导入多个.json文件并且卡住了。该目录中不仅包含.json文件。我意识到我需要使用循环导入,但对所有这些都是新手。有帮助吗?到目前为止,这是我的代码:

import os
path = "/Users/jkelson/Desktop/JsonFiles/Project3"
directory = os.listdir(path)

for x in directory:
    if x.endswith('.json'):
        with open(x) as input_file:
            jsondata = json.load(input_file)

所以你说要改变它吗?

import os
path = "/Users/jkelson/Desktop/JsonFiles/Project3"
directory = os.path.join(path, x)

for x in directory:
    if x.endswith('.json'):
        with open(x) as input_file:
            jsondata = json.load(input_file)
很明显,我是新手,我道歉。这也是我的第一篇文章,如果我在社区评论方面犯了错误,请原谅我。

在目录中有多个.json文件,我正在尝试打开并存储在数据框中进行分析。

import os
path = "/Users/jkelson/Desktop/JsonFiles/Project3"
directory = os.listdir(path)

for x in directory:
    if x.endswith('.json'):
        full_path = os.path.join(path, x)
        with open(full_path) as input_file:
            jsondata = json.load(input_file)

1 个答案:

答案 0 :(得分:0)

正如zondo指出的那样,您的错误正在发生,因为您正在尝试打开正在运行的目录中不存在的文件。您需要在open()语句中提供该文件的完整路径。考虑修改以下内容:

full_path = os.path.join(path, x)
with open(full_path) as input_file:
     # Rest of your code here