Самый простой способ сделать это - пакет threading
, входящий в стандартную библиотеку.Обертывание ваших двух блоков в функциях, а затем оборачивание их в потоки должно сделать эту работу - т.е.
def write_prices():
for i in tqdm_notebook(range(0,len(stock_ticker.Symbol))):
try:
ticker_df=pd.DataFrame(get_data(np.array(stock_ticker.Symbol)[i]))
ticker_df.to_csv("E:\\Stock Database\\Stock Prices\\%s.txt"%np.array(stock_ticker.Symbol)[i])
def write_incomes():
for i in tqdm_notebook(range(0,len(stock_ticker.Symbol))):
try:
ticker_df=pd.DataFrame(get_income_statement(np.array(stock_ticker.Symbol)[i]))
ticker_df.to_csv("E:\\Stock Database\\Income Statement\\%s.txt"%np.array(stock_ticker.Symbol)[i])
import threading
# construct the threads
t1 = threading.Thread(target=write_prices)
t2 = threading.Thread(target=write_incomes)
# start the threads
[t.start() for t in (t1, t2)]
# wait until they finish
[t.join() for t in (t1, t2)]
Это должно работать, хотя, если у вас есть общие значения между get_data(...)
и get_income_statement(...)
, вы можете нажатькакая-то проблема, которую нужно решить с помощью замков.