我正在使用多处理运行以下代码,通过请求和解析程序更快地运行ticker_list
。以下代码有效,但速度很慢。我不太确定这是多处理的正确用法。如果有更有效的方法,请告诉我。
ticker_list = []
with open('/home/a73nk-xce/Documents/Python/SharkFin/SP500_Fin/SP_StockChar/ticker.csv', 'r', newline='') as csvfile:
spamreader = csv.reader(csvfile)
for rows in spamreader:
pass
for eachTicker in rows:
ticker_list.append(eachTicker)
def final_function(ticker):
try:
GetFinData.CashData(ticker_list)
except Exception as e:
pass
if __name__ == '__main__':
jobs = []
p = mp.Process(target=final_function, args=(ticker_list,))
jobs.append(p)
p.start()
p.join()
答案 0 :(得分:0)
如果您的自动收报机文件很大 (根据路径名称判断,可能是)
使用csv阅读器是浪费时间。 它不支持搜索,所以你可以到达最后一行的唯一方法是
for row in spamreader:
pass
此后"行"将包含文件中的最后一行..
你可以在这里看到:Most efficient way to search the last x lines of a file in python 它可以只检索文件中的最后一行,然后用csv模块解析它..
这将节省一些计算时间..