2016-06-22 12 views
0

ich zur Zeit meine geschabt Daten in einem Element speichern im CSV-Format zu exportieren:Wie forma Scrapy exportiert

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

Der Artikel erklärt sich wie folgt:

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

Dies in einer csv-Ergebnisse Format wie folgt:

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

Was ich wirklich will, ist dies:

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

Weiß jemand, wie ich den Ausgang ändern kann, um dies zu erreichen?

+1

Können Sie bitte die Definition von HobbyItem und Felddefinitionen anzeigen? – notionquest

+0

Hallo @ Notionquest. Ich habe wie gewünscht aktualisiert. – Ninja3412

Antwort

0

Sie haben nicht genug Code oder Erklärung lassen für mich sicher sein, dass dies in Ihrem speziellen Code funktioniert, aber

Versuchen:

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

Dieses 1-Element pro Hobby zu schaffen, mit getName mehrere mal

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