当我只想要一个列表时,Python将列表放在列表中

时间:2017-07-13 14:40:57

标签: python sql python-2.7 python-3.x

我从一个表中获取一行,该表具有由";"分隔的多个值。我试图将它存储在列表中。一切正常,但不是python打印它只是[' a'' b'' c'] ...它打印为[[&# 39;一个'' b'' C']]。

以下代码

cur.execute("SELECT * FROM Main_Setup");
rows = cur.fetchall()

job1= []
job2=[]

for row in rows:
    name = row[1]
    fields = row[4].split(';')
    if name == 'File1':
        job1.append(fields)

    elif name == 'file2':
        job2.append(fields)

输出:

[['this field', '   another field']]
[['haha', 'no', '  yes']]

期望的输出:

['this field', '   another field']
['haha', 'no', '  yes']

1 个答案:

答案 0 :(得分:1)

然后使用bytes.Buffer而不是append。像这样:

extend

这有点好奇,因为我认为查询返回cur.execute("SELECT * FROM Main_Setup"); rows = cur.fetchall() job1= [] job2=[] for row in rows: name = row[1] fields = row[4].split(';') if name == 'File1': job1.extend(fields) elif name == 'file2': job2.extend(fields) s而不是tuple s(因此您的输出应该是list)。但[('this field', ' another field')]仍有效。