Hoy vamos a aprender cómo podemos automatizar tareas sobre un archivo en OneDrive usando un Script de Python y conexión remota.

1. Configura tu archivo de Excel en OneDrive
- Sube el archivo a OneDrive:
- Guarda tu archivo de Excel en tu carpeta de OneDrive.
- Asegúrate de saber la ubicación exacta del archivo (puedes obtener la URL del archivo en la web de OneDrive).
- Asegúrate de tener el archivo listo:
- Crea una tabla en tu hoja de Excel (igual que en la solución anterior) con columnas como
FechayCantidad.
- Crea una tabla en tu hoja de Excel (igual que en la solución anterior) con columnas como
2. Instala Python y las bibliotecas necesarias
Si no tienes Python instalado, descárgalo desde python.org.
Después, instala las bibliotecas necesarias ejecutando estos comandos en tu terminal o línea de comandos:
pip install pandas openpyxl onedrivesdk
3. Crea un script en Python
Usaremos la biblioteca onedrivesdk para conectarnos a OneDrive y pandas para editar el archivo Excel.
Aquí tienes un ejemplo de script:
import pandas as pd
from datetime import datetime
from onedrivesdk import OneDriveClient, AuthProvider, HttpProvider, FileSystemTokenBackend
# Configura tu cliente de OneDrive
redirect_uri = 'http://localhost:8080/'
client_secret = 'TU_CLIENT_SECRET'
client_id = 'TU_CLIENT_ID'
scopes = ['wl.signin', 'wl.offline_access', 'onedrive.readwrite']
http_provider = HttpProvider()
auth_provider = AuthProvider(
http_provider=http_provider,
client_id=client_id,
client_secret=client_secret,
auth_server_url="https://login.live.com/oauth20_authorize.srf",
auth_token_url="https://login.live.com/oauth20_token.srf",
redirect_uri=redirect_uri,
scopes=scopes,
)
client = OneDriveClient("https://api.onedrive.com/v1.0/", auth_provider, http_provider)
auth_provider.authenticate()
# Ruta del archivo en OneDrive
onedrive_file_path = "/Documents/MisDatos.xlsx"
# Descarga el archivo Excel
file_item = client.item(drive="me", path=onedrive_file_path).get()
with open("temp.xlsx", "wb") as local_file:
client.item(drive="me", id=file_item.id).download(local_file)
# Abre el archivo Excel y añade la nueva fila
df = pd.read_excel("temp.xlsx", sheet_name="Hoja1")
nueva_fila = {"Fecha": datetime.now().strftime("%Y-%m-%d"), "Cantidad": 100} # Ajusta cantidad
df = df.append(nueva_fila, ignore_index=True)
# Guarda los cambios y vuelve a subir el archivo
df.to_excel("temp.xlsx", index=False)
with open("temp.xlsx", "rb") as updated_file:
client.item(drive="me", id=file_item.id).upload(updated_file)
print("Cantidad añadida con éxito.")
4. Automación con tareas programadas
- Guarda el script como
actualizar_excel.py. - Usa una herramienta gratuita para programar su ejecución semanalmente:
- En Windows, usa el Programador de tareas.
- En Linux/Mac, usa
cron.
Ejemplo de cron (para ejecutar cada lunes a las 9:00 AM):
0 9 * * 1 python3 /ruta/a/actualizar_excel.py

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.