【发布时间】:2016-02-11 16:43:02
【问题描述】:
我正在使用 python 和 sql 数据库迈出第一步,但仍然不确定要使用哪个包以及如何使用。我有一个包含大约 300k 字典的列表,每个字典大约有 20 个键。这些 dicts 应该被插入到一个 SQL 表中。
在我看来,dict 方法列表的优点是,我明确命名了要在其中输入特定值的列。 (可能,这不是一个好方法)
让我举一个更具体的例子来说明我的问题的本质。 该表由三列组成:ID(整数)、价格(十进制)、类型(字符串)。 类型支持空值。
我的字典的键名相同,字典列表可能如下所示:
lst = [{'ID':1, 'Price': '9.95', 'Type': None},
{'ID':2, 'Price': '7.95', 'Type': 'Sports'},
{'ID':3, 'Price': '4.95', 'Type': 'Tools'}, ...]
所以出现的问题如下:
- 使用 dicts 的方法是否正确? (请注意,我有 20 列)
- 如果是/或否:应该如何有效地执行这样的查询?
- 是否有必要在 SQL 语句之前将价格转换为十进制,或者这可以“即时”实现
- None 值是自动转换为 null,还是需要做额外的工作?
【问题讨论】:
-
你在做什么样的项目?如果您使用 python 和数据库,那么实现像 Django 这样的 MVC 可能会有所帮助。 en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controllerdjangoproject.com
-
我正在从网络抓取服务(几个 json 文件)中获取数据,并且需要提取我插入到 MSSQL-Server 中的信息
-
我假设这是一次性的,因此实施整个框架并不是一个有用的建议。您使用的是哪种类型的 SQL?许多数据库支持各种格式的批量插入(这意味着将您的网络抓取数据写入文件可能更有用)。例如。 msdn.microsoft.com/en-CA/library/ms188609.aspx(编辑错误链接)
-
我每周都这样做。服务器在 mssql 上运行。每周我都会收到大约 100 个文件,我需要对其进行预处理。只有一些(尽管大部分)数据应以该特定表结尾。此外,数据在服务器中后,我需要做一些实体解析,字符串匹配。然后,需要创建一个新的、干净的表
标签: python sql python-3.x