我有一个14MB的Excel文件和五个工作表我正在阅读Pandas数据帧,虽然下面的代码有效,但需要9分钟!
有没有人有加快速度的建议?
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)
Run Code Online (Sandbox Code Playgroud) 如何从谷歌驱动器导入MS-excel(.xlsx)文件到colaboratory?
excel_file = drive.CreateFile({'id':'some id'})
Run Code Online (Sandbox Code Playgroud)
工作(drive
是一个pydrive.drive.GoogleDrive
对象).但,
print excel_file.FetchContent()
Run Code Online (Sandbox Code Playgroud)
返回无.和
excel_file.content()
Run Code Online (Sandbox Code Playgroud)
抛出:
()----> 1 excel_file.content()中的TypeErrorTraceback(最近一次调用最后一次)
TypeError:'_ no.BytesIO'对象不可调用
我的意图是(给定一些有效的文件'id')将其作为io对象导入,可以通过pandas读取read_excel()
,最后从中获取pandas数据帧.
我有一个由几张纸组成的Excel文件。我需要将它们分别加载为单独的数据帧。对于此类任务,有什么与pd.read_csv(“”)类似的功能?
PS由于大小,我无法在Excel中复制和粘贴单张纸