我从Excel工作表中加载了15张纸,它创建了dataFrames的字典,其中工作表编号为关键字。有没有办法在加载时实际附加15张,或者我必须迭代键来附加15个DataFrame?
我的意思是在加载时指定附加而不是创建字典?
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的dataFrame。
df[1]
Out[114]:
EVE01201 ......
答案 0 :(得分:0)
如果查看read_excel docs,sheetname参数似乎只提供返回数据框Dict的选项,其中键代表工作表。我能看到的唯一方法是修改pandas使用的excel.py文件(excel.py使用xlrd)。
但是使用pd.concat简单地连接数据帧可能要简单得多
答案 1 :(得分: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
是获取所有工作表名称的属性。