반응형
Excel 시트에서 정확히 지정된 범위를 판독하는 Python Panda 데이터 프레임
다양한 테이블(및 엑셀 시트의 기타 비정형 데이터)을 보유하고 있습니다.A3: 범위를 벗어난 데이터 프레임을 만들어야 합니다.Excel 시트 'data'의 'Sheet2'에서 D20'을 클릭합니다.
시트 수준까지 드릴다운되는 모든 예제는 정확한 범위에서 선택하는 방법은 아닙니다.
import openpyxl
import pandas as pd
wb = openpyxl.load_workbook('data.xlsx')
sheet = wb.get_sheet_by_name('Sheet2')
range = ['A3':'D20'] #<-- how to specify this?
spots = pd.DataFrame(sheet.range) #what should be the exact syntax for this?
print (spots)
이것을 받으면 A열에 있는 데이터를 찾아 B열에 해당하는 값을 찾을 예정입니다.
편집 1: openpyxl이 너무 오래 걸려서 로 변경했습니다.pandas.read_excel('data.xlsx','Sheet2')
적어도 그 단계에서는 훨씬 더 빠릅니다.
편집 2: 당분간은 데이터를 한 장에 담았습니다.
- 다른 모든 정보를 삭제했습니다.
- 열 이름 추가,
- 응용의
index_col
맨 왼쪽에 있는 칼럼에 - 그 후 사용
wb.loc[]
panda read_excel 문서의 다음 인수를 사용합니다.
- skiprows : 리스트라이크
- 시작할 때 건너뛸 행(0-색인)
- nrows: int, 기본값 없음
- 해석할 행의 수.
- parse_cols : int 또는 list, 기본값 None
- [없음(None)]의 경우 모든 열을 해석합니다.
- int의 경우 구문 분석할 마지막 열을 나타냅니다.
- int 목록이 구문 분석할 열 번호 목록을 나타냅니다.
- 문자열이 열 이름과 열 범위를 쉼표로 구분한 목록("A:E" 또는 "A,C,E:F")을 나타내는 경우
전화는 다음과 같이 표시됩니다.
df = read_excel(filename, 'Sheet2', skiprows = 2, nrows=18, parse_cols = 'A:D')
편집:
판다의 후기 버전에서parse_cols
로 이름이 변경되었습니다.usecols
따라서 위의 콜은 다음과 같이 고쳐야 합니다.
df = read_excel(filename, 'Sheet2', skiprows = 2, nrows=18, usecols= 'A:D')
이를 위한 한 가지 방법은 openpyxl 모듈을 사용하는 것입니다.
다음은 예를 제시하겠습니다.
from openpyxl import load_workbook
wb = load_workbook(filename='data.xlsx',
read_only=True)
ws = wb['Sheet2']
# Read the cell values into a list of lists
data_rows = []
for row in ws['A3':'D20']:
data_cols = []
for cell in row:
data_cols.append(cell.value)
data_rows.append(data_cols)
# Transform into dataframe
import pandas as pd
df = pd.DataFrame(data_rows)
팬더 O.25에 대한 나의 대답은 잘 테스트되고 잘 작동했다.
pd.read_excel('resultat-elections-2012.xls', sheet_name = 'France entière T1T2', skiprows = 2, nrows= 5, usecols = 'A:H')
pd.read_excel('resultat-elections-2012.xls', index_col = None, skiprows= 2, nrows= 5, sheet_name='France entière T1T2', usecols=range(0,8))
그래서 : 원하는 라인(5)과 콜 A에서 H를 선택한 두 줄 뒤에 데이터가 필요합니다.
팬더의 새로운 파라미터에 따라 @shane 답변의 개선과 갱신이 필요하다.
언급URL : https://stackoverflow.com/questions/38560748/python-pandas-dataframe-reading-exact-specified-range-in-an-excel-sheet
반응형
'programing' 카테고리의 다른 글
프로세스 ID(PID)가 존재하는지 확인하는 방법 (0) | 2023.04.11 |
---|---|
SQL Server에서 GETDATE()를 밀리초 단위로 인쇄하려면 어떻게 해야 합니까? (0) | 2023.04.11 |
예약된 단어를 속성 이름으로 사용, 다시 방문 (0) | 2023.04.06 |
Mongo 컬렉션을 JSON 형식으로 덤프 (0) | 2023.04.06 |
Google Place API - 요청된 리소스에 'Access-Control-Allow-Origin' 헤더가 없습니다.따라서 오리진 'null'은 액세스가 허용되지 않습니다. (0) | 2023.04.06 |