私はPandasライブラリとPythonを使用しています。パンダ:データを抽出するための開始行を指定する方法
私は、データ抽出に必要のないExcelシートの上部にいくつかの見出し情報を持つExcelファイルを持っています。
しかし、見出し情報には長い行がかかる可能性があるため、予想できません。
したがって、私のデータ抽出は「ID」と書かれています... この特定のケースでは、行5から始まりますが、変更する可能性があります。
画像は下部に表示されます(機密情報の場合は5行目の後にグレー表示されます)。
これを論理的に入れます(見出しをスキップして行5にジャンプします)。 パターンは、 "ID、EMP_ID" などから列見出しを開始しますが、を使用してskiprows=4
を指定することができます
with open('File.xls') as fp:
skip = next(filter(
lambda x: x.startswith('ID'),
enumerate(fp)
))[0]
df = pd.read_excel('File.xls', usercols=['ID', 'EMP_ID'], skiprows=skip)
print df
私はこのエラーを取得しています。 AttributeError: 'タプル'オブジェクトに属性がありません 'startswith'上にコードが表示されています。 –
@KingJavaあなたが正しいです、私はそれを修正しました。 'enumerate'はタプルを生成するので、2番目の項目を選択する必要があります。 –
このエラーが発生しています。 TypeError:リストオブジェクトはイテレータではありません。 –