- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为练习,我从 API 中提取数据并将其插入到 psql 数据库中。我最初遵循每次拉取 1000 个条目的默认限制,但我决定尝试获取大约 40K 行的所有数据。经过一些实验后,我可以拉出 4800,但随后我得到以下信息:
Traceback (most recent call last):
File "data_pull.py", line 19, in <module>
postgres_db.Bike_Count.insert_many(data).execute()
File "/usr/local/lib/python3.5/dist-packages/peewee.py", line 3516, in execute
cursor = self._execute()
File "/usr/local/lib/python3.5/dist-packages/peewee.py", line 2901, in _execute
sql, params = self.sql()
File "/usr/local/lib/python3.5/dist-packages/peewee.py", line 3484, in sql
return self.compiler().generate_insert(self)
File "/usr/local/lib/python3.5/dist-packages/peewee.py", line 2084, in generate_insert
value = row_dict[field]
KeyError: <peewee.IntegerField object at 0x7f5b32c2c7f0>
数据拉取.py
import json, requests, peewee
import postgres_db
endpoint = 'https://data.seattle.gov/resource/4xy5-26gy.json?$limit=4800'
response = requests.get(endpoint, headers={'X-App-Token': '(REMOVED)'})
if response.status_code == 200:
data = json.loads(response.text)
postgres_db.Bike_Count.create_table(True)
postgres_db.Bike_Count.insert_many(data).execute()
postgres_db.py
import peewee
psql_db = peewee.PostgresqlDatabase('database', user='my_username')
class Bike_Count(peewee.Model):
date = peewee.DateTimeField()
fremont_bridge_sb = peewee.IntegerField()
fremont_bridge_nb = peewee.IntegerField()
class Meta:
database = psql_db
我查看了在线表格,认为其中的条目存在问题,但我找不到任何明显的问题。感谢您的帮助。
最佳答案
我在本地尝试了您的代码(删除了应用程序 token 和 4800 限制)并且它按预期工作:
id | date | fremont_bridge_sb | fremont_bridge_nb
------+---------------------+-------------------+-------------------
1 | 2017-01-09 06:00:00 | 28 | 55
2 | 2017-01-04 20:00:00 | 19 | 10
3 | 2017-01-18 13:00:00 | 18 | 18
4 | 2017-01-06 11:00:00 | 22 | 15
5 | 2017-01-27 11:00:00 | 39 | 38
6 | 2017-01-08 14:00:00 | 6 | 10
7 | 2017-01-06 23:00:00 | 8 | 3
8 | 2017-01-27 13:00:00 | 45 | 35
...
当我在附加 LIMIT 的情况下运行它时,我注意到 API 返回的其中一行仅包含一个 date
键(缺少 fremont_bridge_nb 和 fremont_bridge_sb 字段)。
Peewee 要求批量插入时每一行都有相同的键,所以问题是 peewee 期望找到所有 3 个键。
关于Python KeyError : <peewee. IntegerField 对象在 ... > 使用 peewee insert_many(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43833171/
我就废话不多说了,大家还是直接看代码吧~ ? 1
我正在尝试将以下名为 posts 的字典列表插入到 mongo 中,但出现了一个 BulkWriteError: batch op errors occurred 错误,我不知道该怎么做修复。 帖子:
在将 insert_many 与 pymongo 一起使用时,我需要忽略重复插入,其中重复项基于索引。我在 stackoverflow 上看到过这个问题,但没有看到有用的答案。 这是我的代码片段: t
我目前正在尝试使用 C++ 应用程序最大限度地提高插入的写入速度到 MongoDB 中。我看到的行为是 insert_many() 操作会变慢,导致写队列建立,然后后续的 insert_many()
我目前正在尝试编写一个脚本,将文档插入 MongoDb 并返回每个元素的存储位置。非常简单,感谢 insert_many(),但是如果我在插入时出现错误,我的问题就会出现。 我将无法获取刚刚插入的 I
我想在我的集合中insert_many() 文件。其中一些可能与集合中的现有文档具有相同的键/值对(在我的示例中为 screen_name)。我在此键上设置了唯一索引,因此出现错误。 my_colle
mongo/pymongo 的新手。目前使用最新-v3.2.2 看起来 insert_many 没有按预期执行?我注意到,即使在为 db.col.insert_many 提供生成器时,内存使用量仍然会
这个问题在这里已经有了答案: Fast or Bulk Upsert in pymongo (6 个回答) 关闭3年前。 我有一些这样的数据: data = [{'_id': 1, 'val': 5}
我有一个包含 3 个成员的 MongoDB 副本集和一个在其中存储数据的 Python 应用程序。 当使用带有包装器的单个文档插入时,我可以处理 pymongo 的 AutoReconnect 异常,
作为练习,我从 API 中提取数据并将其插入到 psql 数据库中。我最初遵循每次拉取 1000 个条目的默认限制,但我决定尝试获取大约 40K 行的所有数据。经过一些实验后,我可以拉出 4800,但
我正在尝试将文档从一个数据库增量复制到另一个数据库。 某些字段包含以下格式的日期时间值: 2016-09-22 00:00:00 而其他的则采用这种格式: 2016-09-27 09:03:08.98
我正在使用一种方法将一些数据存储在 MongoDB 数据库中。 void save_data(std::vector list){ using namespace std; using
我正在更新一个包含数百万文档且 _id 冲突少于 10 个的数据库。 我目前正在使用 PyMongo 模块通过 insert_many 进行批量插入: 查询数据库以查看_id 是否存在 如果 _id
我是一名优秀的程序员,十分优秀!