Need to create a list of dictionaries with keys 'Date' and 'Value'. The values of keys are stored in a txt file with following structure:
test.txt 01-01-2020 12:00:00,10 01-01-2020 13:00:00,9 01-01-2020 14:00:00,8 01-01-2020 15:00:00,7 01-01-2020 16:00:00,6 01-01-2020 17:00:00,5 ...
The outputs with below code is {"01-01-2020 12:00:00":"10", "01-01-2020 13:00:00":"9"}...
What I would like to do is [{"Date":"01-01-2020 12:00:00","Value":"10"},{"Date":"01-01-2020 13:00:00","Value":"9"}...]
Any help would be much appreciated, thanks.
import flask
from flask import request, jsonify
app = flask.Flask(__name__)
app.config["DEBUG"] = True
@app.route('/', methods=['GET'])
def api_data():
with open (r"test.txt","r") as f:
# d={}
l=[]
for line in f.read().splitlines()[-5:]:
d={}
key,val = line.split(",")
d[key] = val
return d
app.run()
Advertisement
Answer
Currently, you have created the dictionary object using the date value as the key but if you need the keys to be string Date and Value, you can do the following:
def api_data():
with open (r"test.txt","r") as f:
l=[]
for line in f.read().splitlines()[-5:]:
key,val = line.split(",")
d = {"Date": key, "Value" : val}
l.append(d)
return l
res = api_data()
print(res)
Output:
[{'Date': '01-01-2020 13:00:00', 'Value': '9'}, {'Date': '01-01-2020 14:00:00', 'Value': '8'}, {'Date': '01-01-2020 15:00:00', 'Value': '7'}, {'Date': '01-01-2020 16:00:00', 'Value': '6'}, {'Date': '01-01-2020 17:00:00', 'Value': '5'}]
Also, you need to append each object to the list and return the list object; currently you are returning the dictionary object.