【发布时间】:2020-02-09 16:43:35
【问题描述】:
我使用以下代码从表单生成数据:
time_schedule = []
f = request.form
for key in f.keys():
for idx, value in enumerate(f.getlist(key), 1):
time_schedule.append({key+str(idx): value})
然后我print它时得到了这个结果:
[{'csrf_token1': 'Ijg2YWEyNDEwMWI3ZTE4NjYyNzBkNTEwYTZlMzRiYTM3MjY2ZTk2NDAi.XaGmZw.rMR9Q53hlAQV-Ul9X3PHT55TMxc'}, {'course_start_at1': '2019-10-26'}, {'schedule_day1': 'Sunday'}, {'schedule_day2': 'Saturday'}, {'start_at1': '01:00'}, {'start_at2': '03:00'}, {'end_at1': '02:00'}, {'end_at2': '04:00'}, {'step1': 'input_teacher_email'}]
然后我删除了不必要的值:
del time_schedule[0]
del time_schedule[0]
del time_schedule[-1]
那么我这里就是现在的值了:
[{'schedule_day1': 'Sunday'}, {'schedule_day2': 'Saturday'}, {'start_at1': '01:00'}, {'start_at2': '03:00'}, {'end_at1': '02:00'}, {'end_at2': '04:00'}]
现在我想把它合并成这样:
[
{'schedule_day1': 'Sunday', 'start_at1': '01:00', 'end_at1': '02:00'},
{'schedule_day2': 'Saturday', 'start_at2': '03:00', 'end_at2': '04:00'},
]
但不确定如何在最佳实践中做到这一点。请,任何答案,来源或教程如何将不胜感激..? :)
【问题讨论】:
-
那么你做了什么?
-
这似乎是你有一个完全其他的问题要解决,并以某种方式进入了你现在试图清理的这个烂摊子。为什么您的起始数据如此“奇怪”?也许调整产生起始数据的算法。这可能吗?
-
您能否详细说明数据的格式?例如,schedule 键总是在前面,它们是按数字排序的吗?
-
我已经编辑了我的问题,如果仍然提出令人困惑的问题,请见谅。
-
@GofyandKitty,你能把
request.form.items()的输出贴出来吗?
标签: python arrays pandas list dictionary