利用pandas读取MongoDB库中的数据

下方代码的主要目的是从MongoDB数据库中获取数据,并使用pandas库将其转换为DataFrame。

# coding=utf-8
from pymongo import MongoClient
import pandas as pd

# 创建MongoDB客户端连接
client = MongoClient()
# 选择数据库'douban'中的集合'tv1'
collection = client['douban']['tv1']
# 从集合中查询所有数据
data = collection.find()

# 初始化一个空列表,用于存储处理后的数据
data_list = []

# 遍历查询结果
for i in data:
    # 创建一个临时字典,用于存储每条记录的特定字段
    temp = {}
    temp['info'] = i['info']
    temp['rating_count'] = i['rating']['count']
    temp['rating_value'] = i['rating']['value']
    temp['title'] = i['title']
    temp['country'] = i['tv_category']
    temp['directors'] = i['directors']
    temp['actors'] = i['actors']
    # 将临时字典添加到列表中
    data_list.append(temp)

# 设置pandas的显示选项,以便更好地查看DataFrame
pd.set_option('display.max_columns', 1000)
pd.set_option('display.width', 1000)
pd.set_option('display.max_colwidth', 1000)

# 将处理后的数据列表转换为DataFrame
df = pd.DataFrame(data_list)

# 打印DataFrame的前1行
print(df.head(1))

# 打印DataFrame的'info'列,并将其字符串按'/'分割成列表
print(df['info'].str.split('/').tolist())

这段代码首先连接到MongoDB数据库,并从指定的集合中查询数据。然后,它遍历查询结果,提取每条记录中的特定字段,并将这些字段存储在一个字典中。这些字典被添加到一个列表中,最后将这个列表转换为一个DataFrame。接着,它设置了pandas的显示选项,以便更好地查看DataFrame。最后,它打印了DataFrame的前1行,并将'info'列的字符串按'/'分割成列表。

 上方代码涉及的douban数据链接如下:

douban文件大小:423.7 K|icon-default.png?t=N7T8https://wwt.lanzoum.com/iULjX1o62p5eMongoDB数据库安装教程及导入数据可自行搜索

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
MongoDB导入数据通常涉及到将文件(如CSV、JSON、文本或二进制文件)的内容插入到集合(collections),这是数据的基本存储单元。以下是使用Python的pymongo进行数据导入的一个基本步骤: 1. 安装pymongo: 如果你还没有安装pymongo,可以通过pip来安装: ``` pip install pymongo ``` 2. 连接到MongoDB服务器: 首先,你需要连接到你的MongoDB实例。假设你的服务器运行在本地,并监听默认端口(27017),你可以这样连接: ```python from pymongo import MongoClient client = MongoClient('localhost', 27017) ``` 3. 选择数据和集合: 假设你有一个名为`mydatabase`的数据和你想导入数据的名为`mycollection`的集合: ```python db = client['mydatabase'] collection = db['mycollection'] ``` 4. 导入数据: 对于文件数据,最常见的是逐行读取文件并用`insert_one()`方法插入每条记录: ```python import json with open('data.json', 'r') as file: for line in file: data = json.loads(line) # 如果数据是JSON格式 collection.insert_one(data) ``` 或者如果是CSV文件,可以使用第三方如`pandas`: ```python import pandas as pd df = pd.read_csv('data.csv') collection.insert_many(df.to_dict(orient='records')) ``` 5. 执行操作后记得关闭连接: ```python client.close() ``` 记得替换上述代码的`mydatabase`、`mycollection`以及文件路径为实际的数据名、集合名和文件路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HITzwx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值