Maison >développement back-end >Tutoriel Python >Comment utiliser xlrd en Python pour lire les cellules fusionnées

Comment utiliser xlrd en Python pour lire les cellules fusionnées

coldplay.xixi
coldplay.xixiavant
2020-07-09 17:20:543394parcourir

Comment utiliser xlrd en Python pour lire les cellules fusionnées

Fusionner les cellules

Comment opérer :

1. Utilisez les attributs intégrés de xlrd : merged_cells

# Obtenez les positions de toutes les cellules fusionnées dans le tableau et renvoyez-les sous forme de liste (ligne de début, ligne de fin, colonne de début, colonne de fin)
merged = sheet.merged_cells #Result : [(1,5,0,1), (5,9,0,1)]

2. Utilisez une boucle pour déterminer s'il faut fusionner. cellules ou cellule de cellules ordinaires, et attribuez la valeur de la première ligne de la cellule fusionnée à la cellule fusionnée

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 : L'opération la plus simple de lecture de cellules fusionnées dans un fichier Excel

Problème :

1. Lors de la sortie du contenu, utilisez les coordonnées pour obtenir l'impression S'il y a un else dans la couche la plus externe, 2 valeurs seront renvoyées (nous confirmons toujours s'il y en aura d'autres. problèmes s'il n'y a pas d'autre élément le plus externe)

2. Cela fonctionne bien lorsqu'il est utilisé pour la première fois, mais la liste renvoyée par sheet.merged_cells est vide lors d'une nouvelle utilisation ? ?

Solution : ajoutez formatting_info=True au fichier ouvert, et il s'affichera normalement

Ce qui précède est l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.

Recommandations d'apprentissage associées : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer