【问题标题】:How can i use intake library to create one catalog.yaml file to reference nested directories?如何使用摄入库创建一个 catalog.yaml 文件来引用嵌套目录?
【发布时间】:2019-10-11 13:59:38
【问题描述】:

我有以下嵌套目录:

\---population
    +---asia
    |   |   asia_pop.csv
    |   |   
    |   +---china
    |   |       china_pop.csv
    |   |       
    |   \---japan
    |           japan_pop.csv
    |           
    \---europe
        |   europe_total_pop.csv
        |   
        +---france
        |       france_pop.csv
        |       
        \---uk
                uk_pop.csv

无论如何创建一个catalog.yaml 文件,它可以通过以下方式在目录中工作吗?

Import intake
root = intake.open_catalog(‘/population/population.yaml’)

# load china population

root.asia.china.read()

我知道可以通过嵌套多个 catalog.yaml 文件来实现,但是有没有办法在一个文件中做到这一点。

例如:

metadata:
  version:1

sources:
  asia:
    china:
      driver: csv
      args:
        skiprows:10
        url:'/population/asia/china/china_pop.csv'
      metadata: {}

    japan:
      driver: csv
      args:
        skiprows:10
        url:'/population/asia/japan/japan_pop.csv'
      metadata: {}

【问题讨论】:

    标签: python catalog


    【解决方案1】:

    我不知道intake,但是你可以直接这样操作:

    import yaml
    
    catalog = yaml.load('/population/population.yaml')
    
    pop_file = open(catalog.sources.asia.china.args.url, "r")
    pop_file.read()
    

    【讨论】:

    • 感谢重播,但是在加载数据集时,intake 具有允许您将附加参数传递给驱动程序的属性,即跳过 10 行。这意味着一旦我使用摄入目录加载文件,我就不需要做任何进一步的操作。不确定这是否可以使用 yaml.load() 来实现?
    猜你喜欢
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多