本質的にxml
ファイルの束のため、任意のバイトでファイルをポックすることはできません。そのファイルは、ファイル内のテーブルのN番目の行の先頭になることを願っています。シートに興味があります。
あなたができる最善のはskiprows
とpandas.read_excel
を使用している(ファイルの先頭からの行をスキップ)とskip_footer
引数(下から行をスキップします)。ただし、ファイル全体を最初にメモリにロードしてから、必要な行だけを解析します。あなたは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
ファイルは、1つの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