Tôi có một 14MB Excel file with five worksheets mà tôi đang đọc vào một khung dữ liệu Pandas và mặc dù mã bên dưới hoạt động, phải mất 9 phút!Cách nhanh hơn để đọc các tệp Excel vào khung dữ liệu pandas
Có ai có đề xuất để tăng tốc nó không?
import pandas as pd
def OTT_read(xl,site_name):
df = pd.read_excel(xl.io,site_name,skiprows=2,parse_dates=0,index_col=0,
usecols=[0,1,2],header=None,
names=['date_time','%s_depth'%site_name,'%s_temp'%site_name])
return df
def make_OTT_df(FILEDIR,OTT_FILE):
xl = pd.ExcelFile(FILEDIR + OTT_FILE)
site_names = xl.sheet_names
df_list = [OTT_read(xl,site_name) for site_name in site_names]
return site_names,df_list
FILEDIR='c:/downloads/'
OTT_FILE='OTT_Data_All_stations.xlsx'
site_names_OTT,df_list_OTT = make_OTT_df(FILEDIR,OTT_FILE)
Bạn có thể thử lưu dưới dạng csv và tải nó, có thể trình đọc excel không nhanh bằng csv – EdChum
Nó có nhiều trang tính mặc dù vậy sẽ không hoạt động? – jsignell
Bạn vẫn có thể lưu từng trang, thật không may, nỗi đau ở đây là bạn phải lưu từng trang riêng biệt, 14MB không phải là kích thước lớn và trình đọc csv sẽ ăn nhanh hết. Một điểm khác có thể thử ['ExcelFile.parse'] (http://pandas.pydata.org/pandas-docs/stable/generated/pandas.ExcelFile.parse.html#pandas.ExcelFile.parse) – EdChum