如何从 couchdb 查询文档并将它们加载到 pandas 数据框?
How to query the documents from couchdb and load them into pandas dataframe?
我已经在本地 couchdb 服务器上下载了 Twitter 数据。
它被保存为 json 个文件。
我用这个代码进入python的数据库。
第一次导入库
import couchdb
import pandas as pd
from couchdbkit import Server
import json
import cloudant
接下来连接服务器,选择我要进入的数据库。
dbname = couchdb.Server('http://localhost:5984')
db = dbname['Test']
server = couchdb.Server('http://localhost:5984')
我可以使用 python 创建和删除数据库,但是,我不知道如何将数据从服务器放入 jupyter notebook。
我想通过转发获取文本和时间来分析它。
我只能从 python.
中看到一个 JSON 文件
如果可能的话,我想将数据库中的所有 JSON 数据添加到 python 中的 pandas 数据帧,这样我也可以在 R 中对其进行分析。
问题是:如何查询文档并将它们加载到pandas数据框?
可以使用 include_docs
查询属性从 /{db}/_all_docs
端点提取 CouchDB 数据库中的所有文档。响应是一个 json 对象,其中所有文档都列在 rows
字段中。
您可以使用 requests
包直接与 CouchDB 一起工作,然后使用 pandas.read_json
将响应加载到 pandas 或使用 couchdb
包翻译 json 进入 python 内部对象,然后直接加载响应,即做这样的事情:
import couchdb
import pandas as pd
couch = couchdb.Server('http://localhost:5984')
db = couch['Test']
rows = db.view('_all_docs', include_docs=True)
data = [row['doc'] for row in rows]
df = pd.DataFrame(data)
请注意,将完整的数据库读入内存可能会占用大量资源,因此您可能需要查看 _all_docs
端点的 skip
和 limit
查询参数,以便分批阅读信息。
我已经在本地 couchdb 服务器上下载了 Twitter 数据。 它被保存为 json 个文件。
我用这个代码进入python的数据库。 第一次导入库
import couchdb
import pandas as pd
from couchdbkit import Server
import json
import cloudant
接下来连接服务器,选择我要进入的数据库。
dbname = couchdb.Server('http://localhost:5984')
db = dbname['Test']
server = couchdb.Server('http://localhost:5984')
我可以使用 python 创建和删除数据库,但是,我不知道如何将数据从服务器放入 jupyter notebook。 我想通过转发获取文本和时间来分析它。 我只能从 python.
中看到一个 JSON 文件如果可能的话,我想将数据库中的所有 JSON 数据添加到 python 中的 pandas 数据帧,这样我也可以在 R 中对其进行分析。
问题是:如何查询文档并将它们加载到pandas数据框?
可以使用 include_docs
查询属性从 /{db}/_all_docs
端点提取 CouchDB 数据库中的所有文档。响应是一个 json 对象,其中所有文档都列在 rows
字段中。
您可以使用 requests
包直接与 CouchDB 一起工作,然后使用 pandas.read_json
将响应加载到 pandas 或使用 couchdb
包翻译 json 进入 python 内部对象,然后直接加载响应,即做这样的事情:
import couchdb
import pandas as pd
couch = couchdb.Server('http://localhost:5984')
db = couch['Test']
rows = db.view('_all_docs', include_docs=True)
data = [row['doc'] for row in rows]
df = pd.DataFrame(data)
请注意,将完整的数据库读入内存可能会占用大量资源,因此您可能需要查看 _all_docs
端点的 skip
和 limit
查询参数,以便分批阅读信息。