现在电脑上有一个TXT文本,如何读取并存进数据库mango中?
程序如下:
#!/usr/bin/env python3
#-*- coding: utf-8 -*-
import pymongo
# 下面的表示本地,27017表示本地端口
client = pymongo.MongoClient('localhost', 27017)
# client表示引进本地mongodb
# 接下来的步骤可以想像在编辑一个excel表格
walden = client['walden']
# 这么理解,左边是python的对象,右边是给数据库表格命名,命名一样便于记忆。理解更新:上面,它就是一个函数,括号里面就是这个函数的附加值,walden这个是变量-某网友(自己猜想,这里字典的读取key样式就是这样,a['b'],a是指代字典的变量,b是key,这也是哈希,通过walden引出它对应的值)
sheet_tab = walden['sheet_tab'] # 由[ ]换成( )会报错:Database object is not callbale.
#--------1--------#
path = '/Users/jkxuan/Desktop/walden.txt'
with open(path, 'r',encoding='GBK') as f:
lines = f.readlines()
for index, line in enumerate(lines): # enumerate是内建函数,与for in 区别是它循环出的结果有编号排序
data = {
'index': index,
'line': line,
'words': len(line.split())
}
print(data)
sheet_tab.insert_one(data)
#---------2--------#
for item in sheet_tab.find({'words':0}): # 这里面其实添加的是字典,用的字典格式,item也是字典调用key value的方法,仔细对比
# $lt/$lte/$gt/$gte/$ne,依次等价于,>=,!=(l表示less,g表示greater,e表示equal,n表示not,对应的函数 find({'words':{'$lt':5}} )
print(item)
# 注:当需要用程序1部分时,2部分应该屏蔽,反之亦然
以上代码实现了读取进mangodb,并可以根据要求筛选的功能。