我想做一个列表,这个列表的元素来自Flask的用户输入。这是我的代码:
data = pd.read_csv('data_file_path.csv')
data = list(data.columns)
该行的输出为:
['A1', 'A2', 'A3', 'A4', 'A5']
我使用Flask来获得用户输入(一次一个元素作为下拉输入(,它是:
columns = [request.form.get('columns')]
最后,我创建了一个空列表,并将user元素附加到该列表中,代码如下:
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']
您应该在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
中的数据将只保留在内存中,当您停止服务时,数据将丢失。如果您想在停止服务时仍保留数据,则需要将其保存在数据库中。