我有一个csv文件,其中包含我希望从Yahoo Finance中提取的符号列表。(其中约3000个)
df = pandas.read_csv('ticker_file.csv')
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime.today()
for each_code in df['Symbol']: # got it from pandas website "Remote Data Access"
get_prices = web.DataReader(each_code, 'yahoo', start, end)
get_prices.to_csv(each_code + '.csv')
将其拉出symbol
并保存到大约需要2.5-3秒csv
。
我想知道,是否有可能/更快地使用多处理/超线程来加快此过程?
您可以非常轻松地使用多进程工作池。看一下https://docs.python.org/2/library/multiprocessing.html和给出的第一个示例(使用5个工人的池)。它看起来像这样:
def f(each_code):
start = datetime.datetime(2010, 1, 1)
end = datetime.datetime.today()
get_prices = web.DataReader(each_code, 'yahoo', start, end)
get_prices.to_csv(each_code + '.csv')
p = Pool(20)
p.map(f, df['Symbol'])
无法确定是否会加快速度。只要网站不抱怨,它就可能会这样做。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句