使用预定义键创建嵌套字典,但在python中没有值

时间:2018-02-25 10:40:57

标签: python dictionary nested key-value

目标

对于作业,我需要将一些建筑信息几何及其属性)放入 GeoJSON 数据结构。

方法

我的一般方法如下: 使用必要的GeoJSON数据结构创建一个空字典,并将.append数据创建到此结构 (见下文)

output_buildings = {
    'type': "FeatureCollection",
    'features': [
    {
        'type': "Feature",
        'geometry': {
            'type': ,
            'coordinates': 
        },
        'properties': {
            'building_id': ,
            'building_year': ,
            'building_status': ,
            'building_occurance': 
        }
        }
    ]
}

问题

我知道如何创建一个简单的空字典,但我的问题是我不知道如何创建一个关键结构没有值 (因为我想要稍后追加这些值)。我在typefeatures,内的第二个)收到错误。

以前的努力

  • 我在StackOverflow上找到了这个主题: Method for Creating a Nested Dictionary from a List of Keys; 但它并不符合我的目的。
  • 我在python文档中搜索了类似"创建空嵌套字典","创建带空值的字典",但没有找到我要找的东西。
  • 我尝试使用占位符(%s /%d),但它们不适用于此目的
  • 最后我尝试使用pass(没有工作)。

问题

我还没有找到解决方案。你能给我一些建议吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您当前的字典结构无效,因为您必须存在键值对。

您可以通过在None占位符中填写没有指定值的密钥来解决此问题。键coordinates可以设置为空列表,因为您可以有多个坐标。

有效的GeoJSON结构:

output_buildings = {
    'type': "FeatureCollection",
    'features': [
        {
            'type': "Feature",
            'geometry': {
                'type': None,
                'coordinates': []
            },
            'properties': {
                'building_id': None,
                'building_year': None,
                'building_status': None,
                'building_occurance': None
            }
        }
    ]
}