Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将输出保存在嵌套字典中?_Python_Python 3.x - Fatal编程技术网

Python 如何将输出保存在嵌套字典中?

Python 如何将输出保存在嵌套字典中?,python,python-3.x,Python,Python 3.x,我必须为我的作业写一个简短的python网页抓取脚本。我已成功打印项目,但无法以所需格式保存输出 下面是HTML代码片段。全链接 我想要的输出格式 {'postcode': 'M5A', 'city': 'Downtown Toronto', 'areas': 'Regent Park, Harbourfront' } 好的,基本上你做了困难的部分,找到正确的节点和值,加上逻辑。与此相比,添加到对象列表的部分非常简单 下面是一个例子,我认为它应该可以工作,我只需更改相应var赋值的打印,然后创

我必须为我的作业写一个简短的python网页抓取脚本。我已成功打印项目,但无法以所需格式保存输出

下面是HTML代码片段。全链接

我想要的输出格式

{'postcode': 'M5A', 'city': 'Downtown Toronto', 'areas': 'Regent Park, Harbourfront' }

好的,基本上你做了困难的部分,找到正确的节点和值,加上逻辑。与此相比,添加到对象列表的部分非常简单

下面是一个例子,我认为它应该可以工作,我只需更改相应var赋值的打印,然后创建对象并将其推送到最终列表

lst =[]
for i, element in enumerate(table_lines):
    span = table_lines[i].find('span')
    if span.text != 'Not assigned':
        postcode = element.find('b').text
        neighborhoods = element.findAll('a')
        areas = []
        for i, link in enumerate(neighborhoods):
            if i == 0:
                city = link.test
            else:
                areas.append(link.test)
        lst.append({
            'postcode': postcode,
            'city': city,
            'areas': ','.join(areas)
        })
print(lst)


顺便说一句,结果应该是你提到的一个列表,每行一个对象。

你试过使用HTML解析器库吗?嘿,迈克!Perpaps如果您显示了
表格行的上下文,或者您的输出现在是什么样子的,我们会有所帮助。我用链接更新了问题。我目前正在控制台中打印输出,不知道如何存储它。对不起,我完全是初学者。
{'postcode': 'M5A', 'city': 'Downtown Toronto', 'areas': 'Regent Park, Harbourfront' }
lst =[]
for i, element in enumerate(table_lines):
    span = table_lines[i].find('span')
    if span.text != 'Not assigned':
        postcode = element.find('b').text
        neighborhoods = element.findAll('a')
        areas = []
        for i, link in enumerate(neighborhoods):
            if i == 0:
                city = link.test
            else:
                areas.append(link.test)
        lst.append({
            'postcode': postcode,
            'city': city,
            'areas': ','.join(areas)
        })
print(lst)