当前位置:  开发笔记 > 编程语言 > 正文

Python - 将元组列表插入SQLite

如何解决《Python-将元组列表插入SQLite》经验,为你挑选了1个好方法。

我正在尝试获取在python中创建的元组列表,并将它们导入到SQLite中的表中.以下代码有效:

conn = sqlite3.connect('emaildb4.sqlite')
cur = conn.cursor() 
cur.execute('''CREATE TABLE Counts (email TEXT, count INTEGER)''')

但是,一旦我尝试插入字典,看起来像这样,并被调用Counts:

[('txstate.edu', 17), ('media.berkeley.edu', 56), ('vt.edu', 110), ('whitman.edu', 17), ('lancaster.ac.uk', 14), ('rsmart.com', 8), ('fhda.edu', 1), ('uct.ac.za', 96), ('unicon.net', 9), ('utoronto.ca', 1), ('loi.nl', 9), ('indiana.edu', 178), ('et.gatech.edu', 17), ('umich.edu', 491), ('gmail.com', 25), ('ucdavis.edu', 1), ('stanford.edu', 12), ('bu.edu', 14), ('caret.cam.ac.uk', 157), ('ufp.pt', 28), ('iupui.edu', 536)]

使用以下代码,我只获得了一个Out[318]: ,而且没有在SQLite表中进行任何更改.

码:

cur.executemany('insert into Counts (email, count) values (?,?)',Counts)

我也尝试将元组更改为字典/按名称引用值,并循环遍历运行cur.execute的列表多次.



1> Martijn Piet..:

您需要提交更改:

cur.executemany('insert into Counts (email, count) values (?,?)',Counts)
conn.commit()

您可以通过将其用作上下文管理器来自动处理此连接:

with conn:
    cur.executemany('insert into Counts (email, count) values (?,?)',Counts)

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有