0

I am fetching data from dashboard as json file using the following code:

ursl='https://xxxxxxxxx'
parameter = {
"access_token": 'ABCD',
                "startDate":"2021-05-23",
                "endDate":"2021-05-25",
                "userId":'ERTI'
}
r = requests.get(url = ursl, params = parameter) 

then I save the content as json file then write it to a CSV file:

data=r.content
datajson=r.json() 
# opening the csv file in 'w+' mode
file = open('DaTA.csv', 'w+')
  
# writing the data into the file
with file:    
    write = csv.writer(file)
    write.writerow(datajson)

But I get all my data in one cell only. This is a snapshot of the data:

{'date': {'_when': '2021-05-25', '_date': '2021-05-25T00:00:00.000Z'}, 'timeInterval': '1min', 'userId': '96K7D9', 'id': '60ac1401211c48001774aa3b', 'activities-heart': [{'customHeartRateZones': [], 'dateTime': '2021-05-25', 'heartRateZones': [{'caloriesOut': 993.8944, 'max': 115, 'min': 30, 'minutes': 1067, 'name': 'Out of Range'}, {'caloriesOut': 0, 'max': 142, 'min': 115, 'minutes': 0, 'name': 'Fat Burn'}, {'caloriesOut': 0, 'max': 175, 'min': 142, 'minutes': 0, 'name': 'Cardio'}, {'caloriesOut': 0, 'max': 220, 'min': 175, 'minutes': 0, 'name': 'Peak'}], 'value': '65.31'}], 'activities-heart-intraday': 
{'dataset': [{'time': '00:45:00', 'value': 62}, {'time': '00:46:00', 'value': 61}, {'time': '00:47:00', 'value': 61}, {'time': '00:48:00', 'value': 59}, {'time': '00:49:00', 'value': 59}

do you have any suggestion, as I want the data to be tow columns time and value, starting from the dataset word.

1 Answer 1

1

I'm not sure if csv writer allows you to do what you need without looping through line by line. Maybe use pandas instead?

import pandas as pd
df = pd.DataFrame(datajson['activities-heart-intraday']['dataset'])
df.to_csv("data.csv", index=False)
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you, that worked, I just added [0] before ['activities-heart-intraday'].

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.