pygsheets.get_all_records(value_render=”FORMULA”) se está convirtiendo a int.
Estoy tratando de extraer datos y fórmulas de una Hoja de Google utilizando pygsheets y el método getallrecords. Los datos de origen se ven así, donde la celda B2 es =A2*3.
Cuando uso el método getallvalues, obtengo los resultados correctos.
cellVals = ws.getallvalues(includetailingempty=False, valuerender=pygsheets.customtypes.ValueRenderOption.FORMULA)
print(cellVals)
[[‘Number’, ‘Formula’], [11.5, ‘=A2*3’]]
Pero cuando uso getallrecords, la celda A1 se convierte en un entero.
cellRecs = ws.getallrecords(valuerender=pygsheets.customtypes.ValueRenderOption.FORMULA)
print(cellRecs)
[{‘Number’: 11, ‘Formula’: ‘=A2*3’}]
Me encantaría no tener que construir una solución alternativa. ¿Algún consejo? ¡Gracias!
davy.ai
Parece que el método “get_all_records” está inferiendo el tipo de dato de la celda A1 basado en su contenido, en lugar de hacerlo en función del encabezado de la columna. Una posible solución alternativa es especificar manualmente el tipo de dato de la columna al crear la hoja de cálculo:
Este código insertará una fila de encabezados en la hoja, especificando los tipos de datos de las columnas mediante un diccionario. Luego, ajustará el ancho de las columnas y creará un dataframe vacío con los tipos de datos especificados, comenzando en la celda A2. Esto garantizará que el método “get_all_records” interprete correctamente la celda A1 como un número decimal.