mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-10 18:54:20 +02:00
Updated Useful import scripts (markdown)
@@ -256,4 +256,37 @@ if __name__ == '__main__':
|
||||
'weight': "{:.2f}".format(weight),
|
||||
'comment': comment
|
||||
})
|
||||
```
|
||||
|
||||
## Health Coach Excel file --> openScale CSV file
|
||||
|
||||
by sarika-03 see https://github.com/oliexdev/openScale/issues/728
|
||||
|
||||
```python
|
||||
import pandas as pd
|
||||
input_file = "HealthCoach.xlsx"
|
||||
df = pd.read_excel(input_file)
|
||||
print("Columns in Excel file:", list(df.columns))
|
||||
df.columns = df.columns.str.strip()
|
||||
df_openscale = pd.DataFrame()
|
||||
df_openscale['date'] = pd.to_datetime(
|
||||
df['Date'].astype(str) + ' ' + df['Time'].astype(str),
|
||||
dayfirst=True, errors='coerce'
|
||||
).dt.strftime('%Y-%m-%d %H:%M:%S')
|
||||
df_openscale['weight'] = df.get('Weight (kg)', None)
|
||||
df_openscale['fat'] = df.get('Body Fat (%)', None)
|
||||
df_openscale['fat_top'] = df.get('Body Fat (Top %)', None)
|
||||
df_openscale['fat_bottom'] = df.get('Body Fat (Bottom %)', None)
|
||||
df_openscale['water'] = df.get('Water (%)', None)
|
||||
df_openscale['muscle'] = df.get('Muscle (%)', None)
|
||||
df_openscale['muscle_top'] = df.get('Muscle (Top %)', None)
|
||||
df_openscale['muscle_bottom'] = df.get('Muscle (Bottom %)', None)
|
||||
df_openscale['bone'] = df.get('Bone (kg)', None)
|
||||
df_openscale['bmi'] = df.get('BMI', None)
|
||||
df_openscale['bmr'] = df.get('BMR (kcal)', None)
|
||||
df_openscale['amr'] = df.get('AMR (kcal)', None)
|
||||
df_openscale['activity_level'] = df.get('Activity Level', None)
|
||||
output_file = "openScale_ready_data.csv"
|
||||
df_openscale.to_csv(output_file, index=False)
|
||||
print(f"\n Conversion complete! File saved as: {output_file}")
|
||||
```
|
Reference in New Issue
Block a user