从python中的url导入csv数据的最佳方法

时间:2015-04-10 12:09:45

标签: python mongodb csv bulkinsert python-multiprocessing

我必须从URL导入csv数据,这会将流中的数据提供给mongoDB服务器。我试过以下方法在python中导入数据:

response = urllib2.urlopen(url)
cr = csv.DictReader(response)
if seperator is not "":
    cr = csv.DictReader(response,delimiter=seperator, quoting=csv.QUOTE_ALL)
cr.next()
ct = 0
#1 make the data objects

rows = list(cr)
totalrows = len(rows)
for i,row in enumerate(rows):
    # I am creating the mongo documents here 
# once the documents are ready insert them into respective mongo collections

因为我有大量的网址,每个网址都有近200 MB的数据,所以我尝试了多处理这样做,但我的脚本执行时间太长(需要5-7小时导入0.6百万只,只有5- 10%CPU使用率和~70%内存使用率)。我的服务器是4核CPU,8GB RAM。 请建议我用python实现最佳性能。

0 个答案:

没有答案