- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经从 Twitter 上挖掘数据几个星期了,我并没有真正考虑过将其作为 JSON 结构直接插入到 MongoDB 中。
这似乎导致“created_at”字段采用字符串格式而不是日期时间格式时出现问题。如果我想从特定日期之间的集合中撤回推文,这基本上会使我的索引毫无用处。
我正在使用 python tweepy 包,并且已经将 json 推文插入到 mongodb 中,如下所示:
collection.insert(json.loads(data))
其中数据例如:
{"created_at":"Tue Dec 03 23:07:53 +0000 2013","id":408009726509596672,"id_str":"408009726509596672","text":"this is some text"}
如何以编程方式将所有字符串“created_at”日期转换为集合中的日期时间对象?
“查找”推文并从数据库中迭代它们的最佳方法是什么?
我一直在尝试这样的事情:
import pymongo, datetime
from pymongo import MongoClient
client = MongoClient()
#access database
db = client.tweets
#access collection
collection = db.collection_name
tweets = collection.find({}) #just get all of the tweets in the collection.
for tweet in tweets:
print tweet #how do I update the created_at field for each tweet in the collection here?
编辑:我最终使用了 Jose 和 Xcorat 答案的混合体。
对于那些希望纯粹用 Python 完成此操作的人(继续我上面的代码),这就是我所做的:
for tweet in tweets:
thedate = tweet[u'created_at'] #in my case I was storing the date as unicode not datetime.
if(type( thedate ) == unicode):
proper_date = datetime.datetime.strptime(thedate,'%a %b %d %H:%M:%S +0000 %Y')
pointer = tweet[u'_id']
collection.update({'_id': pointer}, {'$set': {'created_at': proper_date}})
print('updated created_at from unicode to datetime\n')
else:
print('skipping as is already datetime...\n')
最佳答案
为什么不在 Mongo 上编写一个脚本来做到这一点?
在 Mongo shell 中,类似于,
db.collection.find().forEach(function (tweet){
db.collection.update({_id: tweet._id},
{$set: {created_at: new Date(tweet.created_at)}});
});
只需将所有内容压缩到一行中,然后剪切/粘贴到 mongo shell 中,就完成了。
关于python - 如何将 MongoDB 中的 JSON 插入的created_at字段转换为Python中的日期时间对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20363752/
我得到了这个代码: def user_activity @array_activity = [] @testannounces = Announce.all @te
我有一个 Laravel 应用程序,我正在尝试将用户 checkin 和 checkout 保存到我的数据库中 我有一个模型 Checkins我把它记录为 created_at 和 updated
我在一个 laravel 网站工作,我只是想知道是否有办法为用户格式化 created_at 值,因为现在它类似于以下内容: 2017-09-20 13:41 但我更愿意将其格式化为易于阅读的格式,例
我正在尝试通过以下代码添加记录: Post.objects.update_or_create( user=user, defaults={ "title": external_
我编写查询以了解用户在一周内减少了多少卡路里,但出现此错误。 如何避免错误? def self.calories_burned(current_user) week = ((created_at
我们正在将我们的项目从 v1 更新到 v2。当我们尝试通过仅提供更改的字段作为结构来更新行时,它会尝试设置 created_at 列并返回错误。这在 v1 中起作用。根据文档,在更新操作期间,具有默认
Laravel 在每个表上都有两个时间戳(created_at 和 updated_at)。我认为它会在插入新行时插入 created_at 并在更新时更新 updated_at。然而,当我更新我的模
在 created_at 列的日期范围内确定外键的唯一性 validates :test_id, :uniqueness => { :scope => Date(:created_at)} 上面的代码
我在 Rails 中运行以下命令: coe = trackers.where(:trackable_type => "Mailing").count(:group => 'DATE(created_a
这是我的customer_schema.js 文件: up () {
我正在尝试创建一个查询,我想将我的行转换为行 panel_name GROUP BY 的列,并按个人日期的最后一个 created_at 排列。我的数据以列格式出现,但未显示特定日期。我尝试了多个查询
如何查询id_konsul = 4的数据,如果相同如何从created_at获取最新的staflow ? 例子 id id_konsul staflow created_at 1 4 1
我想通过 created_at 属性选择一系列模型记录,我试过这个查询 Client.where('created_at BETWEEN ? AND ?', 30.days.from_now, Dat
假设我有以下内容: class Movie < ActiveRecord::Base has_many :reviews end 我想列出用户在评论之前没有先评论的新创建的电影。 所以这就像合并这
我想列出几条记录,我只想显示 created_at 的 y-m-d,而不是小时数。 我在查询中这样做: $letter = Letter::select('letters.id', DB::raw('
我刚刚开始在我的应用中学习和使用 Core Data。每当我获取已保存对象的列表时,我想确保我还删除了 Core Data 中超过一周的对象(显然,在我测试时会更少). 我如何完成这项工作?这些模型对
已结束。此问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
已结束。此问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我有日历模型。我不会插入大量数据。 $data = [ [ 'weekday' => 1, 'status' => 'active' ] .......
我有一个婴儿日志列表,我尝试自动计算之前的时间差,减去喂食间隔。 feedingInterval = 3h 例如 如果我在下午 5 点喂我的宝宝,如果我在晚上 7:50 再次喂他。他早到了 10 分钟
我是一名优秀的程序员,十分优秀!