我想创建一个列表,该列表的元素来自Flask的用户输入。这是我执行此操作的代码:
data = pd.read_csv('data_file_path.csv')
data = list(data.columns)
此行的输出是:
['A1', 'A2', 'A3', 'A4', 'A5']
我正在使用Flask来获取用户输入(一次一个元素作为下拉输入):
columns = [request.form.get('columns')]
最后,我创建了一个空列表,并将用户元素附加到该列表中,下面是代码:
list1 = []
try:
for line in columns:
list1.append(line)
print(list1)
except TypeError:
pass
完整的代码是:
data = pd.read_csv('File_Path.csv')
data = list(data.columns)
columns = [request.form.get('columns')]
list1 = []
try:
for line in columns:
list1.append(line)
print(list1)
except TypeError:
pass
但是,我得到的输出像波纹管一样,每当我提供新输入时,以前的输入都会被删除。 (当我从下拉菜单中选择A1时)
Finaloutput: ['A1']
我想创建一个这样的列表(当用户从下拉列表中选择列并将其添加到最终列表时追加),这意味着如果用户从下拉列表中选择了元素,则将其添加到列表中,但不会删除上一个元素。这样(如果我从用户输入中选择A1到A5)
['A1', 'A2', 'A3', 'A4', 'A5']
答案 0 :(得分:0)
您应在api端点外部声明数组。否则,数组将在每个api调用中清空:
list1 = []
@app.get("/")
def add_item(request):
columns = [request.form.get('columns')]
try:
for line in columns:
list1.append(line)
print(list1)
except TypeError:
pass
在上面的代码中,我声明list1
为全局变量,因此我附加到其上的项目将按时保留。
注意:list1
中的数据将仅保留在内存中,当您停止服务时,这些数据将丢失。如果即使在停止服务时仍要保留数据,则需要将其保存在数据库中。