Python 如何从不同的for循环写入文件到一个f写入

Python 如何从不同的for循环写入文件到一个f写入,python,beautifulsoup,Python,Beautifulsoup,我用beautifulsoup尝试了这段代码,但它一次又一次地重复结果 知道如何使用f.write和不同的for循环吗 jobs\u title=soup.find\u all('td',class='coljobtitle') jobs\u city=soup.find\u all('td',class='colcity')) jobs\u type=soup.find\u all('td',class='colshorttextfield3') 文件名='test.csv' f=打开(文件

我用beautifulsoup尝试了这段代码,但它一次又一次地重复结果

知道如何使用f.write和不同的for循环吗

jobs\u title=soup.find\u all('td',class='coljobtitle')
jobs\u city=soup.find\u all('td',class='colcity'))
jobs\u type=soup.find\u all('td',class='colshorttextfield3')
文件名='test.csv'
f=打开(文件名为“w”)
标题='标题,城市,类型\n'
f、 写入(标题)
对于jobs_title中的job:
name=job.find('a').text.strip()
#印刷品(名称)
对于jobs_市的job2:
city=job2.text.strip()
#印刷品(城市)
对于作业类型中的作业3:
jobtype=job3.text.strip()
#打印(作业类型)
f、 写入(名称+”、“+city+”、“+jobtype+”\n')

f、 close()
这是因为您正在执行嵌套循环。我要做的是获取这三个元素的父元素,并遍历它们。否则,假设这些列表长度相等,您可以按索引值拉取相应的元素:

另一种选择是使用zip组合每个对应的元素,以便您一起迭代它们

jobs_title = soup.find_all('td', class_='coljobtitle')
jobs_city = soup.find_all('td', class_='colcity')
jobs_type = soup.find_all('td', class_='colshorttextfield3')



filename = 'test.csv'
f = open(filename, 'w')

headers = 'Title, City, Type \n'

f.write(headers)


  
   
for idx, job in enumerate(jobs_title):
    name = job.find('a').text.strip()
    # print(name)
    
    city = jobs_city[idx].text.strip()
    # print(city)
    

    jobtype = jobs_type[idx].text.strip()
    # print(jobtype)

    f.write(name + ',' + city + ',' + jobtype +'\n')
    

f.close()

我想你应该再给f写一张账单。我的意思是,它不是像
print(jobtype)
is那样的最后一个for循环。请提供三个列表元素以及您希望其他人能够帮助您的输出