Excel File vs. read_excel in Panda
나는 판다에게 뛰어들어 실험을 하고 있다.Excel 파일에서 데이터를 읽는 경우.Excel File을 read_excel로 사용하는 것과 어떤 차이가 있는지 궁금합니다.양쪽 모두 동작하고 있는 것 같으며(예상대로 구문은 약간 다르지만), 이 문서에서는 양쪽 모두를 서포트하고 있습니다.두 경우 모두 문서에서는 "Excel 테이블을 DataFrame으로 읽기" 및 "Excel 테이블을 panda DataFrame으로 읽기"와 같은 방법을 설명합니다.(read_files 및 Excel_file에 대한 설명)
여기 SO에 대한 답이 있는데, 둘 중 하나를 사용하여 차이를 해결합니다.또한 구글 검색에서는 이 문제를 논의하는 결과가 나오지 않았습니다.
테스트 결과, 다음과 같은 결과가 나왔습니다.
path = "test/dummydata.xlsx"
xl = pd.ExcelFile(path)
df = xl.parse("dummydata") # sheet name
그리고.
path = "test/dummydata.xlsx"
df = pd.io.excel.read_excel(path, sheetname=0)
후자가 나에게 줄을 남겨준다는 것 외에, 둘 사이에 차이가 있는가, 둘 중 하나를 사용해야 하는 이유가 있는가?
감사합니다!
구문 이외에 특별한 차이는 없습니다.엄밀히 말하면ExcelFile
클래스이고read_excel
함수입니다.어느 경우든 실제 해석은 에 의해 처리됩니다._parse_excel
안에서 정의된 방법ExcelFile
.
판다의 이전 버전에서는 모두 하나의 문장으로 구성되었다(댓글 제외).
return ExcelFile(path_or_buf,kind=kind).parse(sheetname=sheetname,
kind=kind, **kwds)
그리고 전화하는 것 이상을 하지 않았다.ExcelFile._parse_excel
.
판다의 최근 버전에서는, 이 판다에게ExcelFile
오브젝트(작성되지 않은 경우 오브젝트)를 호출합니다._parse_excel
직접 메서드:
if not isinstance(io, ExcelFile):
io = ExcelFile(io, engine=engine)
return io._parse_excel(...)
갱신된(및 통합된) 파라미터 처리에서는 실제로는 다음 명령문 하나뿐입니다.
return self._parse_excel(...)
그렇기 때문에 이 문서는ExcelFile.parse
자, 이제 말해라
read_excel(ExcelFile, ...)에 상당하는 파라미터에 대한 자세한 내용은 read_excel docstring을 참조하십시오.
라고 하는 또 다른 회답에 대해서는ExcelFile.parse
루프가 더 빠릅니다.그것은, 실제로는, 이 루프를 작성하는지 아닌지에 달려 있습니다.ExcelFile
매번 처음부터 오브젝트를 만듭니다.당신은 확실히 그 시스템을 만들 수 있다.ExcelFile
한 번, 루프 밖으로, 그리고 그것을 전달한다.read_excel
루프 내부:
xl = pd.ExcelFile(path)
for name in xl.sheet_names:
df = pd.read_excel(xl, name)
이것은 에 상당합니다.
xl = pd.ExcelFile(path)
for name in xl.sheet_names:
df = xl.parse(name)
루프가 다른 경로와 관련되어 있는 경우(즉, 하나의 워크북 내에서 여러 장의 시트를 읽는 것이 아니라 여러 개의 워크북을 읽는 경우), 새로운 워크북을 작성해야 합니다.ExcelFile
각 (instance)에 한 번 두 가지 를 제시합니다.ExcelFile.parse
★★★★★★★★★★★★★★★★★」read_excel
등가(및 마찬가지로 느림)가 됩니다.
ExcelFile.parse
더 빠릅니다.
루프에서 데이터 프레임을 읽고 있다고 가정합니다.★★★★★★★★★★★★★★★★ ExcelFile.parse
하면 돼요Excelfile
오브젝트)xl
★★★★★★★★★★★★★★★★★★★★★」따라서 Excel 시트를 한 번만 로드하면 데이터 프레임을 가져올 수 있습니다. Read_Excel이 아닌 합니다.Excelfile
됩니다.따라서 기본적으로 워크북이 다시 로드될 때마다 발생합니다.워크북에 많은 시트와 수만 개의 행이 있으면 엉망입니다.
Panda가 처음 엑셀을 구현했을 때는 2단계 프로세스를 사용했지만, 그 후 read_excel이라는 1단계 프로세스를 추가했다고 생각합니다.아마 사람들이 이미 사용하고 있었기 때문에 첫 번째 것을 남겨뒀을 것이다.
언급URL : https://stackoverflow.com/questions/26474693/excelfile-vs-read-excel-in-pandas
'programing' 카테고리의 다른 글
폴더를 기존 Heroku 앱과 링크하는 방법 (0) | 2023.04.16 |
---|---|
핫픽스 브랜치를 기능 브랜치로 병합 (0) | 2023.04.16 |
SQL에서 열과 행을 쉽게 바꿀 수 있는 방법? (0) | 2023.04.16 |
파일을 리셋하거나 특정 리비전으로 되돌리려면 어떻게 해야 합니까? (0) | 2023.04.16 |
django 엑셀 xlwt (0) | 2023.04.16 |