Python 如何将行/行附加到多行/行字典
所以我有一本pymysql字典。基本上是一整张桌子。 有很多行 感谢:Python 如何将行/行附加到多行/行字典,python,Python,所以我有一本pymysql字典。基本上是一整张桌子。 有很多行 感谢: conn.cursor(pymysql.cursors.DictCursor) 当我打印一行时,它是这样的 {u'key1': 10, u'key2': 20} 因此,我假设整个词典如下所示: {{u'key1': 10, u'key2': 20}, {u'key1': 11, u'key2': 21}, {u'key1': 12, u'key2': 22}} 如何添加行/行?? dict.append({u'key1
conn.cursor(pymysql.cursors.DictCursor)
当我打印一行时,它是这样的
{u'key1': 10, u'key2': 20}
因此,我假设整个词典如下所示:
{{u'key1': 10, u'key2': 20},
{u'key1': 11, u'key2': 21},
{u'key1': 12, u'key2': 22}}
如何添加行/行??
dict.append({u'key1': 13, u'key2': 23})
还有。。
为什么我不能使用dict[0]访问字典中的一行?
我必须使用for循环才能得到1行?您实际上还没有显示检索查询结果的代码,但我们可以在注释中看到您正试图打印
光标
对象。我怀疑您在代码中迭代了游标
对象,以逐个检索值。这是受支持的,但与希望所有结果一次性得到的结果不同(每行只得到一个字典,不支持.append()
或索引)
相反,可以使用
cursor.fetchall()
获得您想象的结构。请注意,它实际上是一个字典列表,而不是一个字典。您实际上没有显示检索查询结果的代码,但我们可以在注释中看到您正试图打印光标
对象。我怀疑您在代码中迭代了游标
对象,以逐个检索值。这是受支持的,但与希望所有结果一次性得到的结果不同(每行只得到一个字典,不支持.append()
或索引)
相反,可以使用
cursor.fetchall()
获得您想象的结构。请注意,它实际上是一个字典列表,而不是一个字典。您正在显示的是一个列表的dict
s。您可以将()追加到列表中,但不能追加到目录中。请显示完整的代码和您得到的错误。您可能应该首先在查询中设置一个限制,以选择多行并查看返回的实际结构。你想象的结构不是一本词典,而是一个包含词典的列表。我无法打印整本词典。当我尝试打印“”时,当我尝试附加时,它抛出attributeError:“DictCursor”对象没有属性“append”,那么您正在尝试打印游标对象。首先,请记住限制您的查询,以便只获得合理/可管理数量的结果,然后打印(cursor.fetchall())
@roganjosh-wow。好了,问题解决了。我实际上不是在处理一个dict,而是一个游标。现在它的行为和预期的一样。dict[0]有效,dict.append也有效,感谢您显示了一个列表的dict
s。您可以将()追加到列表中,但不能追加到目录中。请显示完整的代码和您得到的错误。您可能应该首先在查询中设置一个限制,以选择多行并查看返回的实际结构。你想象的结构不是一本词典,而是一个包含词典的列表。我无法打印整本词典。当我尝试打印“”时,当我尝试附加时,它抛出attributeError:“DictCursor”对象没有属性“append”,那么您正在尝试打印游标对象。首先,请记住限制您的查询,以便只获得合理/可管理数量的结果,然后打印(cursor.fetchall())
@roganjosh-wow。好了,问题解决了。我实际上不是在处理一个dict,而是一个游标。现在它的行为和预期的一样。dict[0]有效,dict.append也有效,谢谢