python - 使用 for 循环中的值从 txt 创建字典列表
问题描述
需要用键'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()
解决方案
目前,您已经使用日期值作为键创建了字典对象,但如果您需要键为字符串Date
和Value
,您可以执行以下操作:
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
每个对象添加到列表中并返回列表对象;目前您正在返回字典对象。
推荐阅读
- go - 如何在 Go 中将日期转换为 RFC3339 扩展日期字符串,以毫秒为单位?
- java - 调试错误 org.apache.axis2.AxisFault: Connection or outbound has closed, trustAnchors 参数必须非空
- python - VBA背面运行Python的权限错误
- node.js - 在try块中手动抛出错误时,如何从服务器端nodejs捕获/返回AJAX中的错误?
- apache-kafka - 客户端无法发布,因为防火墙
- r - Given a spatial (hexagonal) grid how can I obtain a sample of higher order neighbors?
- jdbc - Confluent JDBC 连接器,其中保存有关上次读取 ID 和时间戳的信息
- javascript - iframe body 上的 ResizeObserver 在 Chrome 和 Firefox 上的行为不同
- angular - 尝试从.net核心WebApi并行执行多个调用中的多个存储过程
- python - 如何在 PySimpleGUI 上获得 pandastable?