初始化
import pandas as pd
from pymongo import MongoClient
#从Excel中读取信息,不使用第一行作为索引
data = pd.read_excel('前程无忧python职位信息.xlsx',header = None)
#将第一行作为存入数据库时的索引
namespace = data.loc[0].tolist()
存数据
def save_mongodb():
#设置了auth=True时这样连接
client = MongoClient("mongodb://user:pwd@localhost:27017")
#否则这样连接
#client = MongoClient("localhost","27017")
#选择数据库,不存在则会创建
db = client.job_51
#选择表单,不存在则会创建
collection = db.data
#从第二行开始存数据
for i in range(1,len(data)):
#将信息加载为字典
job_info = dict(zip(namespace,data.loc[i].tolist()))
#插入一条信息
collection.insert_one(job_info)
读数据
def select_mongodb():
#同上
client = MongoClient("mongodb://user:pwd@localhost:27017")
db = client.job_51
collection = db.data
#从表单中查询符合条件的信息
#如果需要全部信息则将find后面小括号中的内容删掉
res = collection.find({
'学历要求': '本科',
'月薪(元)': {'$gte': 15000},
'$or': [{
'经验要求': '1年经验',
'经验要求': '3-4年经验'
}]
})
#使用pandas加载数据
info = pd.DataFrame(list(res))
#删除数据库的“主键”
del info["_id"]
#筛选所需信息所在的列,如果需要全部列则注释该行
info = info[["职位","地区","月薪(元)","职位详情"]]
#将筛选后的信息存入Excel
info.to_excel("筛选职位.xlsx")