Python 은 xlrd 를 사용 하여 병합 셀 을 읽 습 니 다.

병합 셀

조작 방법:
1.xlrd 자체 속성 사용:mergedcells
\#표 의 모든 병합 셀 위 치 를 목록 으로 되 돌려 줍 니 다(시작 줄,끝 줄,시작 열,끝 열)
merged = sheet.merged_cells\#결과:[(1,5,0,1),(5,9,0,1)]
2.병합 셀 인지 일반 셀 인지 순환 으로 판단 하고 병합 셀 의 첫 줄 값 을 병합 셀 에 부여 합 니 다.

def get_cell_type(row_index, col_index):
  """                  """
  cell_value = None
  for (rlow, rhigh, clow, chigh) in merged: #                 
    # print(rlow,rhigh,clow,chigh)
    if (row_index >= rlow and row_index < rhigh): #      
      if (col_index >= clow and col_index < chigh): #      
        #       ,                       
        cell_value = sheet.cell_value(rlow, clow)
        print('     ')
        break #          ,    
      else:
        print('     ')
        cell_value = sheet.cell_value(row_index, col_index)
 
    # else:                5,0    2       /     
    #   print('     ')
    #   cell_value = sheet.cell_value(row_index, col_index)
 
  return cell_value
#           。        
# print(get_cell_type(5, 0))
 
#               
for i in range(1, 9):
  print(get_cell_type(i, 2))
PS:Excel 파일 을 가장 쉽게 읽 을 수 있 는 셀 병합 작업
질문:
1.내용 을 출력 할 때 좌 표를 사용 하여 print 를 가 져 옵 니 다.맨 바깥쪽 에 else 가 있 으 면 2 개의 값 을 되 돌려 줍 니 다.(맨 바깥쪽 else 가 없 으 면 다른 문제 가 있 는 지 확인 하고 있 습 니 다)
2.처음 사용 시 정상,다시 사용 시 sheet.mergedcells 목록 이 비어 있 습 니까?
해결 방법:파일 열기 에 formatter 추가info=True,정상적으로 표시
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기