Número creciente en el nombre del archivo cuando el archivo existe

Todavía soy muy nuevo en Python (3). Tengo un MANCHO de datos del sensor, pero el límite de descarga me obliga a recuperar los datos en fragmentos en lugar de todos a la vez (cada archivo .zip descargado contiene una carpeta de archivos .csv para los datos de cada sensor durante un período de tiempo determinado). Por lo tanto, tengo docenas de archivos .csv grandes distribuidos entre varias carpetas que eventualmente me gustaría combinar / fusionar / agregar en un archivo .csv para los datos completos de cada sensor. Para hacer las cosas más complicadas, los nombres de archivo .csv para cada sensor son idénticos en todas las carpetas. He desarrollado el siguiente código para cambiar el nombre y mover los archivos a una carpeta para que luego pueda concat / merge / append. Funciona bien, excepto por el hecho de que el número que estoy insertando en el nuevo nombre de archivo no se incrementa.

import os
path = r"C:\directory\sensordatafolders" #folders with .csv files
newPath = r"C:\directory\new" #destination for renamed files
for root, dirs, files in os.walk(path):
    for name in files:
        base, extension = os.path.splitest(name)
        if not os.path.exists(os.path.join(newPath, base + extension))
             oldfile = os.path.join(os.path.abspath(root), name)
             newfile = os.path.join(newPath, base + extension)
             os.rename(oldfile, newfile)
        else:
             i = 1
             oldfile = os.path.join(os.path.abspath(root), name)
             newfile = os.path.join(newPath, base + '_' + str(i) + extension)
             i +=1
             os.rename(oldfile, newfile)

Después del segundo bucle (los archivos * .csv y * _1.csv se movieron correctamente), me da el error 'no se puede crear un archivo cuando ese archivo ya existe'. Esto se debe a que (creo) sigue intentando crear archivos * _1.csv en lugar de aumentar a * _2.csv, etc.

Respuestas a la pregunta(1)

Su respuesta a la pregunta