使用Python将两个相互之间的字典写入MySQL表的最快方法是什么?

使用Python将两个相互之间的字典写入MySQL表的最快方法是什么?,python,mysql,insert,Python,Mysql,Insert,我有一个字典格式如下: { File1:{name1:2,name2:4}, File2:{name3:3, name2:5}, File3:{name5:6} } 我想用以下格式将它们插入MySQL表中: Id|File_name|Name|#of Seen 1 File1 name1 2 2 File1 name2 4 3 File3 name3 3 4 File2 name2 5 5 File3 name5 6 我编

我有一个字典格式如下:

{ File1:{name1:2,name2:4},
  File2:{name3:3, name2:5},
  File3:{name5:6}  }
我想用以下格式将它们插入MySQL表中:

Id|File_name|Name|#of Seen
1   File1    name1  2
2   File1    name2  4
3   File3    name3  3
4   File2    name2  5
5   File3    name5  6
我编写了下面的代码,但我的表行中不断出现“null”(现在只有一行)


有人知道它为什么不起作用,或者我如何从我的数据中得到上表吗?

嗯,一个简单的字典迭代方法是

maindict = {'File1': {'name1': 2, 'name2': 4},
            'File2': {'name3': 3, 'name2': 5},
            'File3': {'name5': 6}}

for filename, name_and_number in maindict.iteritems():
    for name, number in name_and_number.iteritems():
        print filename, name, number
…您可能应该更换这些线路

query="INSERT INTO TABLE names_info (id,filename,name) VALUES (%(id)s,% (filename)s, %(name)s)"
cursor.execute(query)
…用更像这样的东西

query = "INSERT INTO TABLE names_info (id,filename,name) VALUES (%s,%s,%s)"
cursor.execute(query, [id, filename, name])

…以避免任何潜在的问题。

我已经尝试了您的代码,现在没有出现错误,但我的SQL表中仍然没有显示任何行。只有一行。您知道原因吗?@user2058811不太清楚。如果是另一个问题,那么打开一个新问题,确保逐字引用代码的相关部分。看起来这个问题中的那块缺了一大块。
query = "INSERT INTO TABLE names_info (id,filename,name) VALUES (%s,%s,%s)"
cursor.execute(query, [id, filename, name])