with - trabajar excel en python
Cómo acceder al valor real de una celda usando el módulo openpyxl para python (4)
Como Charlie Clark ya sugirió que puedes configurar data_only
en True
cuando cargues tu libro de trabajo:
from openpyxl import load_workbook
wb = load_workbook("file.xlsx", data_only=True)
sh = wb["Sheet_name"]
print(sh["x10"].value)
Buena suerte :)
Estoy teniendo problemas reales con esto, ya que la función cell.value devuelve la fórmula utilizada para la celda y necesito extraer el resultado que Excel proporciona después de la operación.
Gracias.
Ok, creo que he encontrado una manera de evitarlo; Aparentemente, para acceder al valor de cell.internal, debe usar iter_rows () en su hoja de trabajo previamente, que es una lista de "RawCell".
for row in ws.iter_rows():
for cell in row:
print cell.internal_value
Desde el código parece que está utilizando el lector optimizado: read_only=True
. Puede alternar entre extraer la fórmula y su resultado utilizando el data_only=True
al abrir el libro de trabajo.
internal_value
era un atributo privado que solía referirse solo al valor (sin tipo) que usa Excel, es decir. Números con una época en 1900 para las fechas en oposición a la forma de Python. Se ha eliminado de la biblioteca desde que se hizo esta pregunta por primera vez.
Puede intentar el siguiente código. Solo proporcione la ruta del archivo de Excel y la ubicación de la celda cuyo valor necesita en términos de número de fila y número de columna a continuación en el código a continuación.
from openpyxl import Workbook
wb = Workbook()
Dest_filename = ''excel_file_path''
ws=wb.active
print(ws.cell(row=row_number, column=column_number).value)
Trate de usar cell.internal_value
en cell.internal_value
lugar.