본질적으로 xml
파일 묶음입니다. 따라서 파일을 임의의 바이트로 찌를 수는 없으며 파일의 N 번째 행의 시작이되도록 할 수 있습니다. 당신이 관심이있는 시트
가장 좋은 방법은 skiprows
(파일 상단의 행 건너 뛰기)과 skip_footer
(하단의 행 건너 뛰기) 인수를 사용하여 pandas.read_excel
을 사용하는 것입니다. 그러나 먼저 전체 파일을 메모리에로드 한 다음 필요한 행만 구문 분석합니다. 당신이 names
인수를 수동으로 헤더를 설정해야
# if the file contains 300 rows, this will read the middle 100
df = pd.read_excel('/path/excel.xlsx', skiprows=100, skip_footer=100,
names=['col_a', 'col_b'])
참고 그렇지 않으면 열 이름은 마지막 행을 건너 뜁니다.
대신 csv
을 사용하려면 csv
파일이 일반 텍스트 파일이므로 직접적인 작업입니다.
그러나, 당신은 당신이 xlsx
아카이브에서 해당 시트의 xml
파일을 추출하고 구문 분석 할 수 정말 필사적 경우는, 큰 하지만입니다. 그것은 쉬운 일이 아니지만.
예 : xml
단일 2 X 3 테이블이있는 시트를 나타내는 파일. <v>
태그는 셀의 값을 나타냅니다.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac">
<dimension ref="A1:B3"/>
<sheetViews>
<sheetView tabSelected="1" workbookViewId="0">
<selection activeCell="C10" sqref="C10"/>
</sheetView>
</sheetViews>
<sheetFormatPr defaultColWidth="11" defaultRowHeight="14.25" x14ac:dyDescent="0.2"/>
<sheetData>
<row r="1" spans="1:2" ht="15.75" x14ac:dyDescent="0.2">
<c r="A1" t="s">
<v>1</v>
</c><c r="B1" s="1" t="s">
<v>0</v>
</c>
</row>
<row r="2" spans="1:2" ht="15" x14ac:dyDescent="0.2">
<c r="A2" s="2">
<v>1</v>
</c><c r="B2" s="2">
<v>4</v>
</c>
</row>
<row r="3" spans="1:2" ht="15" x14ac:dyDescent="0.2">
<c r="A3" s="2">
<v>2</v>
</c><c r="B3" s="2">
<v>5</v>
</c>
</row>
</sheetData>
<pageMargins left="0.75" right="0.75" top="1" bottom="1" header="0.5" footer="0.5"/>
</worksheet>
분명히 판다를 사용하고 있지만 아직 지정하지 않았습니다. 전체 코드를 표시하고 있습니까? – Barnabus
엄격하게 팬더를 준수하지는 않지만, 자동으로 핵심 계산을 수행하지 않는 SFrame을 사용하는 것이 좋습니다. 'pip install --U sframe'을 사용하여 설치하십시오. –
Barnabus 더 많은 코드를 보여줄 필요가 없습니다. 난 단지 n 개의 행만로드하려고합니다. 편집 : @VivekKalyanarangan 답변 해 주셔서 감사합니다. 제가 확인하겠습니다. – Kornel