2017-09-25 2 views
-1

빈 행과 관련하여 여기서 많은 답변을 읽었지만 어쨌든 이러한 솔루션을 내 스크립트에 적용하려는 시도는 실패했습니다.OpenPyXL - cell.value가 None 인 경우 행을 건너 뛰는 방법

OpenPyXL을 사용하여 Excel 파일의 시트를 읽고 DataFrame으로 처리 할 부분을로드합니다 (먼저 각 행을 목록 목록으로 읽어 DataFrame으로 변환). 문제는 내가 첫 번째 셀의 cell.value 나는 아래의 코드 행을 반복 없음

없는 경우 행을 건너 뛸 우아한 해결책을 찾고 있다는 것입니다 :

for row in ws.iter_rows(min_col=adres[0], min_row=adres[1], max_col=adres[2], max_row=adres[3]): 
    data_rows.append([cell.value for cell in row]) 
+0

코드가 완전하지 않습니다. –

+0

나머지 부분은 관련이 없습니다. 왜냐하면이 부분은 셀별로 각 행 셀을 읽고'data_rows '목록에 배치해야하기 때문입니다. 그것은 첫 번째 셀 행 [0] 위치가 비어 있다고 생각하는 행을 건너 뛰고 싶다는 점을 제외하고는 정상적으로 작동합니다. – Uzzy

+0

당신은 반드시 관련성 여부를 결정하는 최선의 위치에 있지 않습니다. 전달되는 모든 매개 변수는 항상 정의되거나 설명되어야합니다. –

답변

0

감사합니다 나는 나이 셀 노력하고 여기에 :)

심지어 요구했다 부끄럽다 y :

for row in ws.iter_rows(min_col=adres[0], min_row=adres[1], max_col=adres[2], max_row=adres[3]): 
    if row[0].value is not None: 
     data_rows.append([cell.value for cell in row]) 
    else: continue 
0

은 다음 아마도 뭔가 당신이 원하는 같이 : 솔루션은 매우 간단하다

def skip_empty_rows(ws): 
    for row in ws.values: 
     if row[0] is None: 
      continue 
     yield row 

df = pd.DataFrame((skip_empty_rows(ws)) 
관련 문제