我正在使用 python 和 sql 数据库迈出第一步,但仍然不确定要使用哪个包以及如何使用。我有一个包含大约 300k 个字典的列表,每个字典大约有 20 个键。这些字典应插入到 SQL 表中。
在我看来,字典方法列表的优点是,我明确命名要在其中输入特定值的列。 (这可能不是一个好方法)
让我举一个更具体的例子来抓住我的问题的本质。
该表由三列组成:ID(整数)、价格(小数)、类型(字符串)。
类型支持空值。
我的字典的键具有相同的名称,字典列表可能如下所示:
lst = [{'ID':1, 'Price': '9.95', 'Type': None},
{'ID':2, 'Price': '7.95', 'Type': 'Sports'},
{'ID':3, 'Price': '4.95', 'Type': 'Tools'}, ...]
所以出现的问题如下:
- 使用字典的方法正确吗? (请注意,我有 20 列)
- 如果是/或否:应该如何有效地执行这样的查询?
- 是否有必要在 SQL 语句之前将价格转换为十进制,或者可以“即时”实现
- None 值是否自动转换为 null,还是需要做额外的工作?
假设您正在使用Python 数据库 API 规范兼容的数据库驱动程序。
类型转换(问题 3 和 4)应该由开箱即用的数据库驱动程序处理。
至于2),有executemany():
cursor.executemany("""
INSERT INTO
mytable
(id, price, type)
VALUES
(%(id)s, %(price)s, %(type)s)
""", lst)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)