第一关的列索引获取字符串列表,这里是我的.xlsx时间序列数据的模样:从熊猫数据框中
这里如何我读它:
def loaddata(filepaths):
t1 = time.clock()
for i in range(len(filepaths)):
xl = pd.ExcelFile(filepaths[i])
df = xl.parse(xl.sheet_names[0], header=0, index_col=2, skiprows=[0,2,3,4], parse_dates=True)
df = df.dropna(axis=1, how='all')
df = df.drop(['Decimal Year Day', 'Decimal Year Day.1', 'RECORD'], axis=1)
df.index = pd.DatetimeIndex(((df.index.asi8/(1e9*60)).round()*1e9*60).astype(np.int64)).values
if i == 0:
dfs = df
else:
dfs = concat([dfs, df], axis=1)
t2 = time.clock()
print "Files loaded into dataframe in %s seconds" %(t2-t1)
return dfs
files = ["London Lysimeters corrected 5min.xlsx"]
data = loaddata(files)
我需要做的是将列标签AND单元(第2行和第3行)以及值读入熊猫数据框,并且能够以字符串列表的形式访问标签和单元行。我似乎无法弄清楚如何加载第2行和第3行,并将时间正确读入pandas datetimeindex中,但如果仅上载标签,则工作正常。此外,我已到处寻找,无法弄清楚如何将列标题作为列表。
如果有人能够帮助解决这些问题,我将不胜感激。
不幸的是我不能做一个双读,因为它需要30-40s加载了每个表和程序将需要加载的12-16张每次都是相同的大小,即使每个文件的第一次读取量很小,仍需要一段时间才能开始。但是,能够获取字符串将非常方便,因为我现在可以使用它们来创建组合框并绘制数据,而目前没有单位。感谢你! – pbreach
也许考虑设置一个块大小等于头的长度,并连接除第一块以外的所有块。这将分裂成标题,数据,而只打开每个文件一次。 – TomAugspurger