写入 csv 文件 [英] Write to a csv file scrapy
本文介绍了写入 csv 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想在scrapy中写入csv文件
I want to write to csv file in scrapy
for rss in rsslinks:
item = AppleItem()
item['reference_link'] = response.url
base_url = get_base_url(response)
item['rss_link'] = urljoin_rfc(base_url,rss)
#item['rss_link'] = rss
items.append(item)
#items.append("
")
f = open(filename,'a+') #filename is apple.com.csv
for item in items:
f.write("%s
" % item)
我的输出是这样的:
{'reference_link': 'http://www.apple.com/'
'rss_link': 'http://www.apple.com/rss '
{'reference_link': 'http://www.apple.com/rss/'
'rss_link': 'http://ax.itunes.apple.com/WebObjects/MZStore.woa/wpa/MRSS/newreleases/limit=10/rss.xml'}
{'reference_link': 'http://www.apple.com/rss/'
'rss_link': 'http://ax.itunes.apple.com/WebObjects/MZStore.woa/wpa/MRSS/newreleases/limit=25/rss.xml'}
我想要的是这种格式:
reference_link rss_link
http://www.apple.com/ http://www.apple.com/rss/
推荐答案
您需要
- 写下你的标题行;然后
- 为每个对象写入条目行.
你可以这样处理:
fields = ["reference_link", "rss_link"] # define fields to use
with open(filename,'a+') as f: # handle the source file
f.write("{}
".format(' '.join(str(field)
for field in fields))) # write header
for item in items:
f.write("{}
".format(' '.join(str(item[field])
for field in fields))) # write items
请注意,"{}
".format(s)
与 "%s
" %s
给出的结果相同.
Note that "{}
".format(s)
gives the same result as "%s
" % s
.
这篇关于写入 csv 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文