Cómo cerrar un archivo excel usando terminal o python

3

estoy usando XlsxWriter para crear un archivo de Excel utilizando una secuencia de comandos de Python.

Cuando vuelvo a ejecutar la secuencia de comandos para actualizar el archivo con información nueva, lo que debo hacer a menudo, tengo que cerrar manualmente el archivo de Excel y volver a abrirlo para ver la nueva versión de la hoja de cálculo.

¿Hay alguna forma de automatizar este proceso? Cierre el archivo de Excel (no la aplicación) con un comando de terminal y luego vuelva a abrirlo.

Sé cómo abrirlo, pero no sé cómo cerrar un archivo.

user37473
fuente
No estoy seguro de si esto es relevante, pero tal vez una macro VBA esté bien para usted y tal vez se pueda llamar desde la línea de comandos. stackoverflow.com/questions/2050505/…
barlop
Por favor, vea las ediciones. Tengo excel Eso es lo que estoy usando actualmente para mirar el archivo. @barlop Estoy en Mac OSX. No estoy seguro de si el enlace que usted dio funcionaría para eso. Lo sentimos, olvidé incluir esa información arriba.
user37473

Respuestas:

2

Mirando a un post sobre el desbordamiento de pila , la respuesta fue que el Workbook COM contiene dentro de él un método Close (). El fragmento de código del post mencionado:

xl = Dispatch('Excel.Application')
wb = xl.Workbooks.Open('New Workbook.xlsx')
# do some stuff
wb.Close(True) # save the workbook

Aquí están las reglas de sintaxis necesarias desde el sitio de Microsoft :

expression .Close(SaveChanges, Filename, RouteWorkbook)
expression A variable that represents a Workbook object.

Cuando se trata de OSX, aparentemente necesitas usar appcript

Con algunas miradas, no estoy demasiado familiarizado con appscript, deberías poder hacer lo que buscas haciendo algo como:

tell application "Microsoft Excel"
   close workbook 1 saving no
end tell

Finalmente, aquí está la documentación del paquete de appscript para Python:

https://pypi.python.org/pypi/appscript

ParanoidPenguin
fuente
Creo que esta solución es para Windows. Estoy usando Excel en Mac. Por favor, corríjame si estoy equivocado.
user37473
Hola, @ user37473, he realizado una actualización para incluir información específica de Mac.
ParanoidPenguin