arrays - 通过 Pymongo 查询 MongoDB 数组,仅将 LIKE 指定值的元素返回到 Pandas Dataframe
问题描述
我有一个 MongoDB 数据库,其中的文档包含一个名为“links”的数组,其中包含在上一步中抓取的每个网页的元素。还包括作为网站的 ID 和域。
这是一个示例文档:
{
"_id": {
"$oid": "5eabc5085ad3f439d5dc6940"
},
"domain": "http://www.linnlanes.com/",
"links": ["http://www.linnlanes.com/index.html", "http://www.linnlanes.com/ContactUS/contactus.htm", "http://www.linnlanes.com/HoursRates/rates.htm", "http://www.linnlanes.com/Food/Menu.htm", "http://www.linnlanes.com/BowlingSpecials/specials.htm", "http://www.linnlanes.com/BirthdaySpecials/parties.htm", "http://www.linnlanes.com/ProShop/proshop.htm", "http://www.linnlanes.com/Tournaments/tournaments.htm", "http://www.lebanonusbc.org/Leagues/leagues.htm", "http://www.LebanonUSBC.org/", "http://www.linnlanes.com/BowlingSpecials/tacotuesday.htm", "http://www.linnlanes.com/BowlingSpecials/niteowl.htm"]
}
我正在尝试通过 pymongo 和 pandas 将数据拉入 Python Dataframe。我的示例代码如下:
import pymongo
import pandas as pd
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["crawler"]
mycol = mydb["links"]
myquery = {"links": {"$regex": u"contact"}}
df = pd.DataFrame(mycol.find(myquery))
print(df['links'])
当我运行上面的代码时,我会得到所有在其“链接”元素之一中具有“联系人”的文档。问题是它正在拉入“链接”的每个元素。我只想获取包含“联系人”的元素。除了所示的正则表达式,我对执行“like”功能的不同方法持开放态度。
我得到了什么:
0 [http://www.linnlanes.com/index.html, http://w...
Name: links, Length: 414, dtype: object
我想得到什么:
0 [http://www.linnlanes.com/ContactUS/contactus.htm]
Name: links, Length: 414, dtype: object
解决方案
我非常接近,这有效:
import pymongo
import pandas as pd
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["crawler"]
mycol = mydb["links"]
myquery = {"links": {"$regex": u"contact"}}
df = pd.DataFrame(mycol.find({"links": {"$regex": u"contact"}}, {"links.$": 1}))
print(df['links'])
推荐阅读
- vue.js - 变异完成后从组件调用 Vuex 动作
- json - 如何展平树并从属性构建路径?
- javascript - 2D 网格删除/操作算法 - 元素的组织及其在数组中的位置
- javascript - Chrome 扩展 - navigator.mediaDevices.getUserMedia() 因 NotAllowedError 失败:因关机而失败
- linux - AF-XDP:小数据包有问题吗?
- javascript - 验证角度形式和 Json(已实现基本验证)
- r - 按点大小对 ggplot 点图进行排名
- architecture - RISCV - 跳转指令如何与 PC 相关?
- r - 枚举小标题中的分组变量
- mongodb - 如何优化设计?