2017-09-11 7 views
0

私は何百ものエクセルファイルを読み、その文字列の隣の値を検索しています。私が直面している問題は、文字列がまれに同じセルにあることです。例として:Pythonエクセルセルを抽出する

シート、私はファイルを読み、書きたい1

 Name    Amount 
     foo    15 
     bar    23 
     bin    10 

シート2

 Name    Amount 
     bin    28 
     foo    10 
     bar    6 

| | #|別のExcelシートでは、それぞれのインスタンスが新しい行になります。

私は取るアプローチに苦労しています。私は仕事だと思うような

所望の出力

 Name   Amount 
     foo    15 
     foo    10 
+0

希望の出力の例を追加してください – bphi

+0

なぜ最終的なエクセルを読み、処理し、出力するためにパンダの 'DataFrame'を使用しないのですか? – FabienP

+0

@FabienPこれを行う方法はおそらく100種類ありますが、私はそれを知らないのです。すべてのオプションを探究し、何が最善のものかを探そうとしています。 DataFrameは簡単に使えますか?私は基本的なPythonの理解とスキルを備えたRの背景から来ています。 – ASavage

答えて

1
from operator import itemgetter 
#use zero based columns 
name_col=0 
value_col=1 
#make a big dict with all the name value pairs ... this might come in handy later 
foo=dict([itemgetter(name_col,val_col)(sheet.get_row_values(i))for i in range(nRows)]).get('foo',None) 

print "FOO:",foo 

何か...あなたはいけない場合本当にあなたがおそらく

def get_foo(sheet,nRows): 
    for i in range(nRows): 
     values = sheet.get_row_values() 
     if 'foo' in values: 
      return values[values.index('foo')+1] 
ような何かを行うことができ、すべての値の辞書を気に

あなたが値を見つけたらすぐに脱退する