我正在尝试将列表的内容添加到CSV文件中。首先,我使用BeautifulSoup来抓取第一列内容的网页。然后我再次使用BeautifulSoup刮掉其余列的内容。我的代码是:
# Content first column
playerName = soup.find('div', class_='font-16 fh-red').text
# Content second column
playerStats = []
for stat in soup.find_all('span', class_='player-stat-value'):
playerStats.append(stat.text)
# Write name and stats to CSV file
with open('players.csv', 'a') as csvfile:
dataWriter = csv.writer(csvfile)
dataWriter.writerow([playerName, playerStats])
将playerName正确写入CSV文件。但是,整个playerStats列表被写入第二列。 我希望将各个列表元素写入CSV文件的第二,第三,第四等列。我该怎么做?
只是为了澄清:我正在打开' a'模式,因为我之前在Python代码中编写了CSV文件的标题。
答案 0 :(得分:2)
在调用writerow()
时,请尝试将两个列表附加在一起,如下所示:
# Content first column
playerName = soup.find('div', class_='font-16 fh-red').text
# Content second column
playerStats = []
for stat in soup.find_all('span', class_='player-stat-value'):
playerStats.append(stat.text)
# Write name and stats to CSV file
with open('players.csv', 'a') as csvfile:
dataWriter = csv.writer(csvfile)
dataWriter.writerow([playerName] + playerStats)