如何格式化零碎的导出

2024-06-16 21:02:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我当前将我的刮取数据存储在要以.csv格式导出的项目中:

item = HobbyItem()
item['name'] = user.getName()
item['hobbies'] = user.getHobbies()

该项目声明如下:

name = scrapy.Field()
hobbies = scrapy.Field()

这将产生如下csv格式:

name,hobbies
Tim, [['tennis'],['squash'],['music']]
Bob, [['rugby'],['polo']]

我真正想要的是:

name,hobbies
Tim, 'tennis'
Tim, 'squash'
Tim, 'music'
Bob, 'rugby'
Bob, 'polo'

有人知道我如何修改输出来实现这一点吗?你知道吗


Tags: csv项目namefield格式musicitemsquash
2条回答

你没有给我足够的代码或解释,以确保这将在您的特定代码工作,但

尝试:

for element in user.getHobbies():
    item['name'] = user.getName()
    item['hobbies'] = element[0]

这将为每个爱好创建一个元素,多次使用getName

name = user.getName()
for hobby in user.getHobbies():
    if hobby:
        item = HobbyItem()
        item['name'] = name
        item['hobbies'] = hobby[0]
        yield item

相关问题 更多 >