2017-01-25 1 views
2

안녕하세요 저는 두 개의 Excel 파일을 읽고 하나의 데이터 프레임으로 열려고하는데이 오류가 발생합니다.AttributeError 얻기 : 'dict'객체에는 'parse'속성이 없습니다. 여러 xlsx 파일을 읽으려고 할 때

AttributeError: 'dict' object has no attribute 'parse' 

나의 목표는 팬더를 사용하여이 두 xlsx 파일을 데이터 프레임에 병합하는 것입니다. 어떻게해야합니까? 여기에 감사 도움말 아래 내 코드입니다 : "새로운"read_excel 기능으로

# import modules 
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 

# filenames 
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] 
+0

큰 목표는 말할 수 없지만 특정 오류에 대해서는 ['pandas.read_excel()'설명서를 확인하십시오 (http://pandas.pydata.org/pandas-docs/stable/generated/). pandas.read_excel.html). 'sheetname = None'을 전달하면 데이터 프레임의 ** dict **을 반환합니다. 따라서'reading_files'는 dicts의리스트이고'x'는'parse()'메소드가없는 dict입니다. – glibdud

+0

실제로 코드가있는 또 다른 질문을 만들었습니다. 여기서 유일하게 문제가되는 것은 제가이 열 이름을 볼 수 있다면 열 이름을 다시 얻지 못했기 때문입니다. 도움을 받으려면 감사하겠습니다! http : //stackoverflow.com/questions/41841757/not- xlsx 파일로 읽는 중 열 이름 가져 오기/41842231? noredirect = 1 # comment70871824_41842231 @glibdud –

+0

답변을 얻은 후에는 질문의 성격을 변경하지 마십시오. 새로운 질문이 있으면 새로운 질문으로 게시하십시오. 이전 버전으로 롤백했습니다. 추가 된 정보를 사용하려면 [개정 내역] (http://stackoverflow.com/posts/41858471/revisions)을 참조하십시오. – glibdud

답변

0

가 (당신이 시트 이름 = 없음을 통과하지 않는 경우), 구문 분석을 호출 할 필요가 없습니다 DataFrames의 딕셔너리를 생성한다 (더 ExcelFile 없기 때문에) . 이전에는 ExcelFile을 만든 다음 각 시트를 구문 분석해야했습니다. here을 참조하십시오.

그러므로 reading_files은 DataFrames의 dicts 목록입니다.이 방법을 단일 DataFrame (there's lots of choices!)으로 병합하려는 방법이 명확하지 않습니다.

+0

답장을 보내 주셔서 감사합니다. 위의 코드를 약간 수정하여 작동하도록 데이터 프레임을 얻었습니다.하지만 열 이름에 문제가있는 경우, 위의 내용을 이해할 수 있으면 감사하겠습니다. @ 앤디 헤이든 –

관련 문제