将数据列表添加到CSV文件

时间:2017-03-21 14:45:00

标签: python python-3.x csv beautifulsoup

我正在尝试将列表的内容添加到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文件的标题。

1 个答案:

答案 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)