使用for循环中的值从txt创建字典列表

时间:2021-02-12 09:58:51

标签: python flask

需要使用键 'Date''Value' 创建字典列表。键的值存储在具有以下结构的 txt 文件中:

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
...

以下代码的输出是{"01-01-2020 12:00:00":"10", "01-01-2020 13:00:00":"9"}...

我想做的是[{"Date":"01-01-2020 12:00:00","Value":"10"},{"Date":"01-01-2020 13:00:00","Value":"9"}...]

非常感谢任何帮助,谢谢。

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()

1 个答案:

答案 0 :(得分:0)

目前,您已经使用日期值作为键创建了字典对象,但如果您需要键为字符串 DateValue,您可以执行以下操作:

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)

输出:

[{'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'}]

另外,你需要将每个对象append加入列表并返回列表对象;当前您正在返回字典对象。