获取一个AttributeError: 'dict'对象没有属性'parse'. 当尝试读取多个xlsx文件时。
获取一个AttributeError: 'dict'对象没有属性'parse'. 当尝试读取多个xlsx文件时。
你好,我试图将两个Excel文件读取并打开为一个数据框,但是我遇到了这个错误。
AttributeError: 'dict' object has no attribute 'parse'
我的目标是使用pandas将这两个xlsx文件合并成一个数据框。请问我该如何做。感谢帮助。以下是我的代码:
# 导入模块 from IPython.display import display import pandas as pd import numpy as np pd.set_option("display.max_rows", 999) pd.set_option('max_colwidth',100) %matplotlib inline # 文件名 file_names = ["data/OrderReport.xlsx", "data/OrderReport2.xlsx"] reading_files = [(pd.read_excel(f, sheetname=None, parse_cols=None))for f in file_names] frames = [x.parse(x.sheet_names[0], header=None,index_col=None) for x in reading_files]
在使用"new"的`read_excel`函数时,如果将`sheetname=None`作为参数传入,它将创建一个DataFrame的字典(dict)。因此,不需要调用`parse`函数(因为没有ExcelFile)。在以前的版本中,需要创建一个`ExcelFile`对象,然后解析每个工作表。详情请参见[这里](https://stackoverflow.com/a/16896091/1240268)。
因此,`reading_files`是一个包含多个DataFrame字典的列表... 不清楚您希望如何将其合并为单个DataFrame([有很多选择!](http://pandas.pydata.org/pandas-docs/stable/merging.html))。
谢谢您的回复,我对上述代码进行了一些调整,使DataFrame正常工作,但是在列名方面遇到了问题,如果您能看一下上面的代码,我将不胜感激! Hayden