Red de conocimiento informático - Problemas con los teléfonos móviles - Python recorre hojas de trabajo de Excel y combina celdas

Python recorre hojas de trabajo de Excel y combina celdas

El código es el siguiente:

# -*- codificación: utf-8 -*-import xlrdimport uuidclass Student():

def __init__(self, id, **kw) :

p>

self.id = id

para k , v en kw.items():

setattr(self, k, v)

def __str__(self):

return 's(id=s, columna1=s, columna2=s, columna3=s, columna4=s) ' (

self.__class__.sheet_by_index(0) # El índice de la hoja de trabajo comienza desde 0

sheet2.nrows_num =sheet2.nrows

cols_num =sheet2.ncols.ncols para r en el rango(rows_num) ):

# Clase de entidad de una fila de datos

entity_dict = {}

for c in range(cols_num):

valor_celda = hoja2.row_values(r )[c]

# print('Valor de la columna d en la fila d: [s]' (r, c, hoja2.row_values(r)[c]))

if (cell_value es Ninguno o cell_value == ''):

cell_value = (get_merged_cells_value(sheet2, r, c))

# Crear entidad

the_key = ' column' str(c 1);

# Establece dinámicamente el valor de cada atributo

entity_dict[the_key] = cell_value

entity_dict['id' ] = getUUID()

stu = Estudiante(** entidad_dict)

print(stu) def get_merged_cells(hoja):

"""

Obtiene todas las celdas combinadas en el siguiente formato:

[(4, 5, 2, 4), (5, 6, 2, 4), (1 , 4, 3, 4) ]

(4, 5, 2, 4) significa: la fila comienza desde el subíndice 4 hasta el subíndice 5 (no incluido) y la columna comienza desde el subíndice 2 hasta el subíndice 4 ( no incluido). Cuadrícula

: Hoja de cálculo de parámetros:

: Retorno:

"""

Volver a la hoja de cálculo.

merged_cells celldef get_merged_cells_value(sheet, row_index, col_index):

"""

Primero determine si la celda dada es una celda fusionada;

Si es así, combine celdas , luego devuelve el contenido de las celdas fusionadas

:.return:

"""

merged = get_merged_cells(sheet)

para (rlow, rhigh, clow, chigh) en fusionado:

if (row_index gt;= rlow y fila _index lt; rhigh):

if (col_index gt;= clow y col_index lt; chigh):

cell_value =sheet.cell_value(rlow, clow)

# print('La celda [d, d] pertenece a una celda fusionada con valor [s ]' (row_index, col_index, cell_value))

devolver valor_celda break

return Nonedef getUUID():

return uuid.uuid1().hexif__name__ == "__main__":

read_excel()