以下内容分两部分,一部分是使用python对mongodb进行基本操作,另一部分是利用tushare下载数据并存入mongodb。
对mongodb进行基本操作的思路是导入pymongo,建立连接,指定数据库,指定集合(表),对集合进行增删改查操作。
利用tushare下载数据并存入mongodb,通过该操作能够充分掌握mongodb在数据存储方面的用途。
对mongodb进行基本操作
from pymongo import MongoClient #安装并导入pymongo
client = MongoClient("localhost", 27017) #建立连接
client.list_database_names() #列出连接下的所有数据库
['admin', 'config', 'libruary', 'local']
db = client.libruary #选定名为libruary的数据库
# db = client['libruary'] # 等价于
db.list_collection_names() #列出数据库libruary中的所有表
['books', 'videos', 'blog']
coll = db.books #选定数据库中名为books的集合(或表)
# coll = db['books'] #等价于
coll.find_one() #查找并输出集合中的一条记录
{'_id': ObjectId('5f47094bab2a0acea6966440'), '"name"': 'Rome', '"number"': 30}
for i in coll.find():
print(i) #查找并输出集合中的所有数据
{'_id': ObjectId('5f47094bab2a0acea6966440'), '"name"': 'Rome', '"number"': 30}
{'_id': ObjectId('5f477bf8a0d9f8ae0844b2a6'), 'name': 'China', 'number': 5000, 'author': 'david'}
# 向集合中增加一条记录
x = coll.insert_one({'name':'China','number':5000,'author':'david'})
以下为将tushare中的数据存入mongodb
# 1、获取数据
import tushare as ts
pro = ts.pro_api()
df = pro.daily(ts_code='000001.SZ', start_date='20200810', end_date='20200828') #获取日数据
# 2、新建mongodb存储函数
from pymongo import MongoClient
client = MongoClient("localhost", 27017)
def insert_mongo(df):
db = client.stocks
coll = db.stock
coll.insert_many(df.to_dict('records'))
# 3\调用函数,将数据导入mongodb
insert_mongo(df)
df.to_dict('records') #将dataframe格式数据转化为字典格式数据