> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 xlrd를 사용하여 병합된 셀을 읽는 방법

Python에서 xlrd를 사용하여 병합된 셀을 읽는 방법

coldplay.xixi
풀어 주다: 2020-07-09 17:27:04
앞으로
3401명이 탐색했습니다.

Python에서 xlrd를 사용하여 병합된 셀을 읽는 방법

셀 병합

작업 방법:

1. xlrd 자체 속성 사용: merged_cells

# 테이블에서 병합된 모든 셀의 위치를 ​​가져오고 목록 형식으로 반환합니다(시작 행). , 끝 행, 시작 열, 끝 열)
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(&#39;合并单元格&#39;)
        break # 不符合条件跳出循环,防止覆盖
      else:
        print(&#39;普通单元格&#39;)
        cell_value = sheet.cell_value(row_index, col_index)
 
    # else: 添加改行后只那一个单元格的内容5,0 会返回2个值普通单元格/合并单元格
    #   print(&#39;普通单元格&#39;)
    #   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. , 좌표를 사용하여 인쇄합니다. 가장 바깥쪽 레이어에 다른 값이 있으면 2개의 값이 반환됩니다. (가장 바깥쪽 레이어에 다른 값이 없으면 아직 확인 중입니다.)

2. 처음 사용할 때는 정상적으로 작동하지만, sheet.merged_cells는 다시 사용할 때 빈 목록을 반환합니까? ?

해결 방법: 열린 파일에 format_info=True를 추가하면 정상적으로 표시됩니다.

위 내용은 이 글의 전체 내용이므로 모든 분들의 학습에 도움이 되기를 바랍니다.

관련 학습 권장사항: python 비디오 튜토리얼

위 내용은 Python에서 xlrd를 사용하여 병합된 셀을 읽는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿