【问题标题】:How can I read multiple in json files in in folder structure?如何在文件夹结构中读取多个 json 文件?
【发布时间】:2020-10-10 13:46:23
【问题描述】:

我正在尝试读取 json 文件中机器学习的训练数据,但它们存储在嵌套文件夹中。

我想知道如何将每个 json 文件读入 pandas 框架。

【问题讨论】:

  • 您可以使用os.listdir() 获取目录中的文件名列表。你问的是这个吗?

标签: python json pandas


【解决方案1】:

假设数据文件夹下的嵌套文件夹中有三个 JSON 文件。

$ tree data
data
├── date1
│   ├── date2
│   │   └── file1_date2.json
│   └── file1.json
└── file1.json

glob2 模块可用于递归获取 JSON 文件。 glob 返回文件的列表

from glob2 import glob
jsonFiles = glob('data/**/*.json') #Can be used absolute or relative paths
print(jsonFiles)
['data/file1.json',  'data/date1/file1.json',  'data/date1/date2/file1_date2.json']

禁止通过遍历列表 jsonFiles 将 JSON 文件加载到数据帧中。

dfList = []
for jsonFile in jsonFiles:
    df = pd.read_json(jsonFile)
    dfList.append(df)
    
dfTrainingDF = pd.concat(dfList, axis=0)

【讨论】:

  • 谢谢!它给了我目录中json文件的所有文件路径。但我不断收到此错误“ValueError:将 dicts 与非系列混合可能会导致排序不明确。”
  • @JunYoungBang,所有 JSON 文件都遵循相同的结构(或架构)吗?根据 JSON 字符串格式,需要调整 orient 参数。请检查将单个 JSON 文件加载到数据框中,并查看您应该使用什么格式来读取 JSON 文件。 pandas.pydata.org/pandas-docs/stable/reference/api/… 将提供有关读取 JSON 文件的更多信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-31
  • 1970-01-01
  • 2018-09-16
  • 1970-01-01
相关资源
最近更新 更多