Excel 프레임을 읽을 때 특정 열 집합 건너뛰기 - 팬더
엑셀 파일에서 필요 없는 열이 무엇인지 미리 알고 있으며 성능 향상을 위해 파일을 읽을 때는 피하고 싶습니다.이와 같은 것:
import pandas as pd
df = pd.read_excel('large_excel_file.xlsx', skip_cols=['col_a', 'col_b',...,'col_zz'])
설명서에는 이와 관련된 내용이 없습니다.이것에 대한 해결책이 있습니까?
만약 당신의 판다 버전이 허락한다면 (콜을 사용하는 기능을 전달할 수 있는지 먼저 확인하세요), 저는 다음과 같은 것을 시도하고 싶습니다.
import pandas as pd
df = pd.read_excel('large_excel_file.xlsx', usecols=lambda x: 'Unnamed' not in x,)
머리글 이름이 없는 모든 열을 건너뜁니다.원하지 않는 열 이름 목록을 '이름 없음'으로 대체할 수 있습니다.
다음과 같은 방법을 사용할 수 있습니다.생략할 열이 258이 되도록 한 다음 보관할 모든 리미닝 열을 찾습니다.cols
다음과 같은 경우:
In [7]: cols2skip = [2,5,8]
In [8]: cols = [i for i in range(10) if i not in cols2skip]
In [9]: cols
Out[9]: [0, 1, 3, 4, 6, 7, 9]
그런 다음 나머지 열을 사용할 수 있습니다(보관할 열).usecols
:
df = pd.read_excel(filename, usecols=cols)
사용 중인 경우read_excel
MarMat의 답변처럼 열을 필터링하는 기능을 사용하는 것이 확실히 더 쉽습니다.그들의 대답은 OP의 경우에 맞게 약간 변경되어야 합니다.skip_cols
생략해야 합니다.
skip_cols = ['col_a', 'col_b',...,'col_zz']
df = pd.read_excel('Book1.xlsx', usecols=lambda x: x not in skip_cols)
또한 Excel 파일의 열만 읽을 수 있습니다.nrows=0
및 사용Index.difference
필요한 열을 추출할 수 있습니다.
cols = pd.read_excel('Book1.xlsx', nrows=0).columns
df = pd.read_excel('Book1.xlsx', usecols=cols.difference(skip_cols))
언급URL : https://stackoverflow.com/questions/49677313/skip-specific-set-of-columns-when-reading-excel-frame-pandas
'programing' 카테고리의 다른 글
TypeScript - [후속 속성 선언은 동일한 유형이어야 함] - 동일한 유형 정의에 대한 다중 참조 (0) | 2023.07.19 |
---|---|
문자열에서 선행 및 후행 공백을 제거하는 방법은 무엇입니까? (0) | 2023.07.19 |
파이썬에서 %time은 무엇입니까? (0) | 2023.07.19 |
MongoDB에 대한 쿼리에서 정규식 변수를 사용하려면 어떻게 해야 합니까? (0) | 2023.07.09 |
추적 분기란 무엇입니까? (0) | 2023.07.09 |