使用python scrapy将项目输出到csv文件-如何在csv文件中输出的问题
在csv文件中填充playerMins项目时,我想将输出添加到csv文件,但它不是从字段名下面开始的,而是按顺序放置在下一行,而不是将其放置在第2行。有人能告诉我我的代码哪里出错了吗??这是:使用python scrapy将项目输出到csv文件-如何在csv文件中输出的问题,python,scrapy,Python,Scrapy,在csv文件中填充playerMins项目时,我想将输出添加到csv文件,但它不是从字段名下面开始的,而是按顺序放置在下一行,而不是将其放置在第2行。有人能告诉我我的代码哪里出错了吗??这是: class EspnSpider3(BaseSpider): name = "espn3.org" allowed_domains = ["espn3.org"] start_urls = [ "http://scores.espn.go.com/nba/boxsc
class EspnSpider3(BaseSpider):
name = "espn3.org"
allowed_domains = ["espn3.org"]
start_urls = [
"http://scores.espn.go.com/nba/boxscore?gameId=310502004"
]
def parse(self, response):
hxs = HtmlXPathSelector(response)
item = EspnItem()
rows = []
playerName = []
playerMins = []
# player names
p_names = hxs.select('(//table[@class="mod-data"][1]/tbody/tr)//a/text()').extract()
for p_name in p_names:
print p_name
yield EspnItem(playerName=p_name)
# minutes
p_minutes = hxs.select('(//table[@class="mod-data"][1]/tbody/tr)/td[2]').extract()
for p_minute in p_minutes:
print p_minute
yield EspnItem(playerMins=p_minute)
在谷歌搜索和rtfm之后,我解决了我的问题: 这是我的工作代码:
def parse(self, response):
hxs = HtmlXPathSelector(response)
player_names = hxs.select('(//table[@class="mod-data"][1]/tbody/tr)')
for p_name in player_names:
l = XPathItemLoader(item=EspnItem(), selector=p_name )
l.add_xpath('playerName', 'td[1]/a/text()')
l.add_xpath('playerMins', 'td[2]')
yield l.load_item()
要输出到CSV的代码在哪里?scrapy crawl espn3.org--set FEED\u URI=items.CSV--set FEED\u格式=csv@DP:不太清楚你有什么问题。您可以重写它吗?当前,当项目填充到csv文件中时,“玩家名称”字段的第一个项目将填充前23个元素,从csv文件的第2行开始填充到第24行。然后下一个字段“玩家分钟数”将开始填充第25行的元素,并在csv文件中在其上方保留24个空格!!我认为应该改为在第2行开始填充,但事实并非如此。有什么想法吗?救命啊,我快淹死了!我是一个喜欢蟒蛇的人(noob:o)