2017-09-11 2 views
0

저는 수백 개의 엑셀 파일을 읽고 그 문자열 옆에있는 문자열을 검색하고 있습니다. 내가 직면하고있는 문제는 문자열이 거의 동일한 셀에 없다는 것입니다. 예를 들어 :파이썬 추출 엑셀 셀

시트 1

 Name    Amount 
     foo    15 
     bar    23 
     bin    10 

시트 나 파일을 읽고, 쓰고 싶습니다 2

 Name    Amount 
     bin    28 
     foo    10 
     bar    6 

| foo | # | 각 인스턴스가 새로운 라인 인 또 다른 엑셀 시트.

저는 접근 방법에 어려움을 겪고 있습니다. 내가 생각하는 그런

원하는 출력

 Name   Amount 
     foo    15 
     foo    10 
+0

원하는 출력의 예를 더하십시오 – bphi

+0

왜 판다'DataFrame'을 사용하여 최종 엑셀을 읽고, 처리하고, 출력합니까? – FabienP

+0

@FabienP이 작업을 수행하는 데는 100 가지 방법이 있습니다. 모든 옵션을 탐색하고 무엇이 최선인지 찾으려합니다. DataFrame은 쉽고 효율적으로 사용할 수 있습니까? 나는 기본적인 파이썬 이해/기술을 가진 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] 
뭔가를 할 아마 수있는 모든 값의 DICT에 관심

일단 당신이 당신의 가치를 발견하면 보석금을 내야합니다