Con una combinación de esta aplicación y un pequeño script que pegaré a continuación pude importar todos mis datos de pasos, frecuencia cardíaca y peso de los últimos 8 años sin ningún problema.
Sólo tienes que cambiar las columnas que quieras conservar en la lista de la parte superior y ejecutar el script con la ruta a la carpeta "Daily activity metrics" como parámetro. He movido el archivo "Daily activity metrics.csv" en la carpeta de distancia, ya que de lo contrario va a añadir al final de la CSV con la marca de tiempo que falta.
import os, sys, csv
COLUMNS_TO_KEEP = [
"Start time",
"End time",
"Distance (m)",
"Average heart rate (bpm)",
"Step count",
"Average weight (kg)",
]
input_path = sys.argv[1]
if not os.path.isdir(input_path):
print("%s is not a valid directory" % input_path)
sys.exit(1)
input_path = os.path.abspath(input_path)
data = []
for f in sorted(os.listdir(input_path)):
with open(os.path.join(input_path,f)) as infile:
date = os.path.splitext(f)[0]
reader = csv.reader(infile)
columns = []
for row in reader:
if columns == []:
columns = row
continue
tmp = []
for pos, cell in enumerate(row):
if columns[pos] in COLUMNS_TO_KEEP:
if "time" in columns[pos]:
cell = "%s %s" % (date, cell)
tmp.append(cell)
if any(tmp[2:]): # only append data if any of the value columns have a value
data.append(tmp)
with open("consolidated_fit_data.csv", "w") as outfile:
writer = csv.writer(outfile)
writer.writerow(COLUMNS_TO_KEEP)
writer.writerows(data)
Y sí, soy consciente de que el código es más bien de un solo caso, pero ese era un poco el punto para mí.