csv python 只写一次_在Python CSV Writer循环中写入一次头
下面是一個scraper,它遍歷兩個網站,獲取團隊的花名冊信息,將信息放入一個數組中,然后將數組導出到CSV文件中。一切都很好,但唯一的問題是每次scraper移動到第二個網站時,csv文件中的writerow頭會重復出現。當scraper在多個網站中循環時,是否可以調整代碼的CSV部分,使標題只出現一次?提前謝謝!在import requests
import csv
from bs4 import BeautifulSoup
team_list={'yankees','redsox'}
for team in team_list:
page = requests.get('http://m.{}.mlb.com/roster/'.format(team))
soup = BeautifulSoup(page.text, 'html.parser')
soup.find(class_='nav-tabset-container').decompose()
soup.find(class_='column secondary span-5 right').decompose()
roster = soup.find(class_='layout layout-roster')
names = [n.contents[0] for n in roster.find_all('a')]
ids = [n['href'].split('/')[2] for n in roster.find_all('a')]
number = [n.contents[0] for n in roster.find_all('td', index='0')]
handedness = [n.contents[0] for n in roster.find_all('td', index='3')]
height = [n.contents[0] for n in roster.find_all('td', index='4')]
weight = [n.contents[0] for n in roster.find_all('td', index='5')]
DOB = [n.contents[0] for n in roster.find_all('td', index='6')]
team = [soup.find('meta',property='og:site_name')['content']] * len(names)
with open('MLB_Active_Roster.csv', 'a', newline='') as fp:
f = csv.writer(fp)
f.writerow(['Name','ID','Number','Hand','Height','Weight','DOB','Team'])
f.writerows(zip(names, ids, number, handedness, height, weight, DOB, team))
總結
以上是生活随笔為你收集整理的csv python 只写一次_在Python CSV Writer循环中写入一次头的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android webview 获取 t
- 下一篇: android fileinputstr