3
我想用熊貓並行讀取一個大的.xls文件。 目前我使用此:如何使用熊貓並行讀取.xls?
LARGE_FILE = "LARGEFILE.xlsx"
CHUNKSIZE = 100000 # processing 100,000 rows at a time
def process_frame(df):
# process data frame
return len(df)
if __name__ == '__main__':
reader = pd.read_excel(LARGE_FILE, chunksize=CHUNKSIZE)
pool = mp.Pool(4) # use 4 processes
funclist = []
for df in reader:
# process each data frame
f = pool.apply_async(process_frame,[df])
funclist.append(f)
result = 0
for f in funclist:
result += f.get(timeout=10) # timeout in 10 seconds
雖然這跑,我不認爲它實際上加快了讀取文件的過程。有沒有更高效的方法來實現這一目標?
閱讀excel任務是一個比CPU限制的問題更多的I/O限制問題,我不認爲並行會加速你的任務太多。 –
有沒有更好的方法來更快地讀取大文件? – Gman