获取列表输出以在 csv 文件的行中正确写入

Getting a list output to write correctly in rows in a csv file

我正在尝试将此输出写入 csv 文件,但根本无法正常工作。我尝试了很多编写 csv 教程的方法,但其中 none 有效。如果你能指导我看解释为什么这不起作用的教程,我想了解这个问题并解决它。

import bs4
from urllib.request import urlopen as ureq
from bs4 import BeautifulSoup as soup
import csv

myurl = 'https://www.newegg.com/Video-Cards-Video-Devices/Category/ID-38'

uclient = ureq(myurl)
page_html = uclient.read()
uclient.close()
page_soup = soup(page_html, 'html.parser')
items = page_soup.find_all('div', {'class':'item-container'})

#filename = 'zeus.csv'
#f = open(filename, 'w')
#header = 'Item Details\n'

#f.write(header)

#contain = items[0]
#container = items[0]
for container in items:
    details = container.a.img['title']
    with open('zeus.csv', 'w') as f:
        f.write(details + "\n")
    #print(details)

您可以尝试类似的方法将列表写入 .csv 文件:

import csv

#open file
with open(..., 'w', newline='') as your_file:
     writer = csv.writer(your_file, quoting=csv.QUOTE_ALL)

     # write your list values
     writer.writerow(your_list)

你可以运行

with open('zeus.csv', 'w') as f:
    for container in items:
        details = container.a.img['title']
        f.write("{} \n ".format(details))

代码中存在的问题是 open('zeus.csv', 'w') as f: 在循环中,因此在每次迭代中都会覆盖之前的迭代。