【发布时间】:2016-10-23 00:21:25
【问题描述】:
我希望从网站中提取数据并将其以干净的格式保存到 csv。目前我的代码没有运行并返回错误:“AttributeError: 'int' object has no attribute 'writerow'”
from bs4 import BeautifulSoup
import urllib.request
import csv
url="http://www.covers.com/pageLoader/pageLoader.aspx?page=/data/nfl/injury/injuries.html"
arr=[[],[],[],[],[]]
with urllib.request.urlopen(url) as url:
s = url.read()
soup = BeautifulSoup(s)
tables = soup.find_all("table", class_="data")
for table in tables:
teams=table.find_all("td", class_="datahead")
teamName=teams[0].text
rrows=table.find_all("tr")
for rrow in rrows:
ccols=rrow.find_all("td")
if len(ccols)>3:
name=ccols[0].text
pos=ccols[1].text
status=ccols[2].text
desc=ccols[3].text
arr[0].append(teamName)
arr[1].append(name)
arr[2].append(pos)
arr[3].append(status)
arr[4].append(desc)
with open('injuries.csv', 'w', newline='') as datafile:
a=csv.writer(datafile, delimiter=',')
for a in range(1000):
a.writerow([arr[0][a],arr[1][a],arr[2][a],arr[3][a],arr[4][a]])
datafile.close
任何关于为什么会导致此错误的解释将不胜感激
【问题讨论】:
-
更改
wr=csv.writer(datafile, delimiter=',')和wr.writerow(...,您将a用于写入对象和for 循环。
标签: python beautifulsoup export-to-csv