将列表中的迭代元素附加到另一个列表中



我想做一个列表,这个列表的元素来自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中的数据将只保留在内存中,当您停止服务时,数据将丢失。如果您想在停止服务时仍保留数据,则需要将其保存在数据库中。

最新更新