下方代码的主要目的是从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|https://wwt.lanzoum.com/iULjX1o62p5eMongoDB数据库安装教程及导入数据可自行搜索