Convert PyMongo Cursor to Dataframe Last Updated : 15 Jul, 2025 Comments Improve Suggest changes 3 Likes Like Report Prerequisites: MongoDB Python Basics This article is about converting the PyMongo Cursor to Pandas Dataframe. Functions like find() and find_one() returns the Cursor instance. Let's begin: Importing Required Modules: Import the required module using the command: from pymongo import MongoClient from pandas import DataFrame If MongoDB is already not installed on your machine you can refer to the guide: Guide to Install MongoDB with Python If pandas not install you can install it using pip and if you are using Python3 then use pip3 instead of pip to install the required modules. pip install pandas Creating a Connection: Now we had already imported the module, its time to establish a connection to the MongoDB server, presumably which is running on localhost (host name) at port 27017 (port number). client = MongoClient(‘localhost’, 27017) Accessing the Database: Since the connection to the MongoDB server is established. We can now create or use the existing database. mydatabase = client.name_of_the_database Accessing the Collection: We now select the collection from the database using the following syntax: collection_name = mydatabase.name_of_collection Getting the documents: Getting all the documents from the collection using find() method. It returns the instance of the Cursor. cursor = collection_name.find() Converting the Cursor to Dataframe: Converting the Cursor to the Pandas Dataframe. First, we convert the cursor to the list of dictionary. list_cur = list(cursor) Now, converting the list to the Dataframe df = DataFrame(list_cur) Below is the implementation. Sample Database: Python3 1== # Python Program for demonstrating the # PyMongo Cursor to Pandas DataFrame # Importing required modules from pymongo import MongoClient from pandas import DataFrame # Connecting to MongoDB server # client = MongoClient('host_name', # 'port_number') client = MongoClient('localhost', 27017) # Connecting to the database named # GFG mydatabase = client.GFG # Accessing the collection named # gfg_collection mycollection = mydatabase.College # Now creating a Cursor instance # using find() function cursor = mycollection.find() print('Type of cursor:',type(cursor)) # Converting cursor to the list of # dictionaries list_cur = list(cursor) # Converting to the DataFrame df = DataFrame(list_cur) print('Type of df:',type(df)) # Printing the df to console print() print(df.head()) Output: Type of cursor: <class 'pymongo.cursor.Cursor'> Type of df: <class 'pandas.core.frame.DataFrame'> _id name Roll No Branch 0 1 Vishwash 1001 CSE 1 2 Vishesh 1002 IT 2 3 Shivam 1003 ME 3 4 Yash 1004 ECE 4 5 Raju 1005 CSE Output Explanation: As seen above when there is no argument is provided it only prints 5 records (numbered 0 to 4...brainfart).And if you put a positive int in the dataframe function, it will generate that many records. Comment S sukritinpal Follow 3 Improve S sukritinpal Follow 3 Improve Article Tags : Python Python-mongoDB Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 5 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 2 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 7 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 15+ min read StatsModel Library - Tutorial 3 min read Learning Model Building in Scikit-learn 8 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 7 min read Python | Build a REST API using Flask 3 min read How to Create a basic API using Django Rest Framework ? 4 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like