2016-10-13 5 views
1

空白の一番上の行と左の列を持つExcelファイルを読み取るパンダ enter image description here問題とき、私は以下のように見えるExcelファイルを読み取ろうとしました

私はこの

xls = pd.ExcelFile(file_path) 
assets = xls.parse(sheetname="Sheet1", header=1, index_col=1) 

しかし、私のようなパンダを使用していました私も試してみました

ValueError: Expected 4 fields in line 3, saw 5

エラーまし

assets = xls.parse(sheetname="Sheet1", header=1, index_col=1, parse_cols="B:E") 

しかし、私は

enter image description here

を次のように続いて

assets = xls.parse(sheetname="Sheet1", header=1, index_col=0, parse_cols="B:E") 

が最後に動作します試してみましたが、なぜindex_col = 0とparse_cols = "B:E" の結果をmisparsedてしまいましたか?これはパンダに基づいて私は混乱するdocumentsassets = xls.parse(sheetname="Sheet1", header=1, index_col=1)ちょうどいいはずです。私は何かを逃したか?

答えて

1

read_exceldocumentationは明らかではありません。ファイルまたはheader=1の上部にある最初の空の行をスキップする

  • skiprows=1はまた、第二行は列のインデックスを持つ使用する働きます。
  • parse_cols='B:E'ファイル
  • index_col=0の左側の最初の空の列をスキップする方法は任意であり、DataFrame指標として解析された最初の列(この例ではB)を定義することを可能です。 index_colparse_colsパラメータで選択された列との相対値なので、間違いはここにあります。

あなたの例では、次のコード

pd.read_excel('test.xls', sheetname='Sheet1', skiprows=1, 
       parse_cols='B:E', index_col=0) 

#   AA BB CC 
# 10/13/16 1 12 -1 
# 10/14/16 3 12 -2 
# 10/15/16 5 12 -3 
# 10/16/16 3 12 -4 
# 10/17/16 5 23 -5 
を使用することができます
関連する問題