我从一个表中获取一行,该表具有由";"分隔的多个值。我试图将它存储在列表中。一切正常,但不是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']
答案 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')]
仍有效。