我是python的新手,试图理解多线程
这是我到目前为止所拥有的:
INT
这本词典大约有 d_thread = {0:(('instrumentType', 'OPTSTK'), ('symbol', 'INFY'),
('expiryDate', 'select'), ('optionType', 'PE'),
('strikePrice', '2800'), ('dateRange', 'day'),
('fromDate', '11-04-2012'),('toDate', '12-04-2012'),
('segmentLink', '9'), ('symbolCount', '')),
12:(('instrumentType', 'OPTSTK'), ('symbol', 'INFY'),
('expiryDate', 'select'), ('optionType', 'PE'),
('strikePrice', '2400'), ('dateRange', 'day'),
('fromDate', '27-04-2012'), ('toDate', '28-04-2012'),
('segmentLink', '9'), ('symbolCount', ''))}
。 500 keys
是熊猫keys
的{{1}}。
我想创建index
来制作dataframe
,然后将数据放入10 workers
中。我不知道在一个线程结束后如何使工作人员选择requests
键。
到目前为止我所拥有的:
dataframe
谢谢。
答案 0 :(得分:1)
您可能需要使用mulitprocessing.pool库提供的内容。
让我们尝试使用map函数:
from multiprocessing import Pool
def f(parameter): #in parameter you have a tuple (key, value) from your dict
result = requests.get('https://www.nseindia.com/products/dynaContent/common/productsSymbolMapping.jsp', headers=headers, params=parameter[1])
return (parameters[0], result)
if __name__ == '__main__':
with Pool() as pool:
result = pool.map(f, d_thread.items())
print(result) #this should show you the results as a list of (key, result)
print(dict(result)) #here you have a dict of your results