2015-11-26 96 views
3

我從excel表格中加載了15張表格,並創建了以表號爲關鍵字的dataFrames字典。有沒有一種方法可以在加載時實際追加15張表格,或者我需要遍歷鍵來追加15個DataFrames?從excel中加載數據並追加所有表格

我的意思是,當加載指定附加,而不是創建字典?

df = pd.read_excel(r"E:\user_ratings.xlsx",sheetname=range(1,16),skiprows=28, 
             header=None,parse_cols="D:H") 

df.head() 
AttributeError: 'dict' object has no attribute 'head' 

df.keys() 
Out[113]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] 

如果列表的鍵1的值它給我數據框板1

df[1] 
Out[114]: 
EVE01201     ...... 

回答

0

的。如果你看看read_excel docs的SHEETNAME參數似乎只能給你回的快譯通的選項數據框,鍵代表工作表。我能看到的唯一方法是修改熊貓使用的excel.py文件(excel.py使用xlrd)。

但它很可能是一個簡單得多,以簡單地使用pd.concat串連的dataframes

0

據我所知,通過使用ExcelFile,這將是簡單:

import pandas as pd 
df = pd.DataFrame() 
input_excel = pd.ExcelFile(path/file.xlsx) 

#iterate over each sheet in the file and parse it 

for sheet in input_excel.sheet_names: 
    input_sheet = input_excel.parse(sheet,headers = True) 
    df.append(input_sheet) 

sheet_names是一個屬性來獲取所有工作表名稱。