2017-06-02 98 views
1

如何创建两个for循环中创建的输出?python中的嵌套循环中的嵌套打印

我想什么有:

Name1 
Adress1 

Name2 
Adress2 

.. 

我能得到什么:

Name1 
Name2 

Adress1 
Adress2 

我已经尝试了很多,带回初始状态。

名称和地址从HTML文档中解析出来,并用for循环写入到txt文件中。 (在第一步到控制台)

我提前感谢你!

with urllib.request.urlopen("file:///C:/Users/x/Desktop/test.html") as url: 
     soup = BeautifulSoup(url, "html.parser") 
     for name in soup.findAll("div", { "class" : "name m08_name" }): 
      print(name.get_text()) 
     for adress in soup.findAll("div", { "class" : "adresse m08_adresse" }): 
      print(adress.get_text())  
+3

'为名字,邮编地址(soup.findAll(...),soup.findAll(...))' –

+0

@TomaszPlaskota很好的回答,但你真的应该把它变成一个实际的答案所以它可以被投票,接受等。无论如何,我会给你一个+1。 – ashbygeek

回答

1

你只需要保存你的部分结果,然后将它们压缩到蜡笔。

请注意,您必须确保名称的数量完全等于地址数量。

with urllib.request.urlopen("file:///C:/Users/x/Desktop/test.html") as url: 
    soup = BeautifulSoup(url, "html.parser") 

    names = [name.get_text() for name in soup.findAll("div", { "class" : "name m08_name" })] 
    addresses = [address.get_text() for adress in soup.findAll("div", { "class" : "adresse m08_adresse" })] 
    for line in zip(names, addresses): 
     print("%s\n%s" % line) 
+0

非常感谢! :)它为我的新员工,这个“拉链”;) –