Pandas csv sang MongoDB

MongoDB nằm trong một lớp cơ sở dữ liệu được gọi là cơ sở dữ liệu NoSQL. Cơ sở dữ liệu NoSQL được thiết kế để lưu trữ và truy xuất dữ liệu mà không cần lược đồ xác định trước, điều này trái ngược với cơ sở dữ liệu quan hệ, vốn yêu cầu xác định lược đồ trước khi bạn có thể lưu trữ dữ liệu. MongoDB là một kho lưu trữ tài liệu, có nghĩa là nó lưu trữ dữ liệu trong các tài liệu giống như JSON

Gần đây tôi đã xem một dự án mà tôi cần kết nối với MongoDB và thực hiện phân tích dữ liệu. Một tùy chọn sẽ là nhờ ai đó quen thuộc với cơ sở dữ liệu trích xuất dữ liệu thành định dạng như CSV, định dạng này dễ dàng đưa vào Python. Tuy nhiên, đó không phải là cách hiệu quả để lấy dữ liệu mới nhất. Tôi cũng biết sự kiên trì của MongoDB ở định dạng giống như JSON và với tư cách là Nhà khoa học dữ liệu, tôi thích Khung dữ liệu Pandas hơn. Như hầu hết những người hành nghề Khoa học dữ liệu đều biết, khi dữ liệu của chúng tôi ở trong DataFrame, chúng tôi có thể thực hiện bất kỳ thao tác tiêu chuẩn nào trên dữ liệu đó từ EDA, đến Kỹ thuật tính năng, đến Lựa chọn và đánh giá mô hình

Ghi chú. Một cách tốt hơn nữa là trích xuất dữ liệu vào Kho dữ liệu như Snowflake thông qua một công cụ như Fivetran. Tuy nhiên, điều đó không thực tế vào thời điểm này trong dự án;

Tạo tài khoản Mongodb miễn phí của bạn

Ví dụ: chúng tôi sẽ sử dụng tài khoản MongoDB Atlas miễn phí. Atlas là phiên bản MongoDB được lưu trữ trên đám mây, bao gồm Bậc miễn phí, lý tưởng cho việc tìm hiểu trước khi bạn bắt đầu một dự án lớn hơn hoặc cung cấp cho bạn một sân chơi để thử nghiệm. Hãy thực hiện các bước để tạo một tài khoản miễn phí

Từ Trang chủ MongoDB, nhấp vào nút Dùng thử miễn phí và đăng ký tài khoản mới. Chọn tùy chọn Chia sẻ miễn phí, giúp bạn bắt đầu với cơ sở dữ liệu được lưu trữ cơ bản

Pandas csv sang MongoDB

Tiếp theo, tiếp tục với tùy chọn Đã chia sẻ và chọn khu vực và nhà cung cấp dịch vụ lưu trữ đám mây của bạn. Tôi thường làm việc với AWS, nhưng trong ví dụ này, bất kỳ nhà cung cấp nào cũng sẽ hoạt động

Pandas csv sang MongoDB

Cuối cùng, với cài đặt Cấp cụm, hãy chọn tùy chọn Hộp cát M0;

Pandas csv sang MongoDB

Tiếp theo, chúng ta sẽ cấu hình mọi thứ

Định cấu hình quyền truy cập

Tiếp theo, chúng ta cần các chi tiết cấu hình cơ bản như thông tin người dùng, mật khẩu và địa chỉ IP. Hãy bắt đầu với tùy chọn tên người dùng và mật khẩu. Tạo người dùng và để Mongo chỉ định PW cho bạn. Nó sẽ sử dụng một cái không yêu cầu mã hóa URL (mà chúng tôi sẽ xử lý sau nếu bạn thích)

Pandas csv sang MongoDB

Tiếp theo, chúng tôi chỉ nên cho phép kết nối với điều này thông qua các địa chỉ IP mà chúng tôi tin tưởng. Bạn có thể tìm thấy địa chỉ IP của mình với Trang web WhatisMyIPAddress. Lý tưởng nhất là bạn nên có một địa chỉ IP tĩnh nhưng đối với người mới bắt đầu, hãy sử dụng địa chỉ IP4 được liệt kê khi bạn truy cập trang web này. Bạn luôn có thể thêm nhiều địa chỉ IP hơn sau này hoặc thậm chí mở nó ra với mọi người nếu bạn muốn (đừng làm vậy)

Pandas csv sang MongoDB

Chúng tôi đã sẵn sàng để lấy một số dữ liệu mẫu

Cài đặt dữ liệu mẫu

MongoDB cung cấp một cách rất đơn giản để lấy dữ liệu mẫu cho phép chúng tôi khám phá cơ sở dữ liệu và tìm hiểu cách giao tiếp với nó. Nhấp vào nút

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
9 và chọn Tải tập dữ liệu mẫu

Pandas csv sang MongoDB

Bạn có thể tìm hiểu thêm về cách kết nối với Mongo thông qua nút Kết nối; . Một điều thú vị để khám phá là tiện ích mở rộng Mã VS để duyệt máy chủ của bạn. Kiểm tra điều đó sau khi hoàn thành bài đăng này

Pandas csv sang MongoDB

Cài đặt ứng dụng khách MongoDB Python

Để làm việc với MongoDB Atlas, bạn cần cài đặt trình điều khiển Python với

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
0 python, bạn có thể cài đặt trình điều khiển này bằng lệnh sau

python -m pip install 'pymongo[srv]'

Ghi chú. Nếu bạn đã cài đặt

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
1 trước đó, hãy thử gỡ cài đặt đó trước rồi chạy lệnh trên

Nhập khẩu Python

Như thường lệ, hãy nhập tất cả các thư viện cần thiết cho việc này. Chúng tôi có tiêu chuẩn của chúng tôi

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
2 và
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
3 cũng như
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
4 để nhận các biến môi trường. Chúng tôi cũng đang nhập
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
5 từ
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
6, điều này sẽ giúp mã hóa tên người dùng và mật khẩu. Cuối cùng, chúng ta có
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
1, trình điều khiển MongoDB Python

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint

Kết nối với cụm của bạn

Trước tiên, chúng tôi muốn tải các biến môi trường vào bộ nhớ cho

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
8,
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
9 và
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
30 của chúng tôi. Tận dụng các biến môi trường là cách thực hành tốt nhất khi xử lý thông tin nhạy cảm. Tìm kiếm các hướng dẫn về cách lưu và duy trì chúng với hệ điều hành của bạn. Có nhiều phương pháp khác nhau cho Mac, Linux và Windows. Tuy nhiên, đoạn mã sau là cách bạn có thể dễ dàng tải chúng vào bộ nhớ

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")

Tiếp theo, theo tài liệu MongoDB, chúng tôi cần đảm bảo mọi thông tin trong chuỗi kết nối của mình đều được mã hóa URL chính xác như tên người dùng và mật khẩu, có thể dễ dàng đạt được bằng hàm

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
5 từ
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
6. Hãy xem nhanh một mật khẩu mẫu và cách nó được mã hóa

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
3

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
8

Tiếp theo, chúng tôi xây dựng chuỗi kết nối của mình với định dạng sau và tạo một đối tượng

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
33 mới có tên là
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
34

python -m pip install 'pymongo[srv]'
1

Đó là nó. Hãy khám phá cơ sở dữ liệu trên máy chủ của chúng tôi

Nhận danh sách cơ sở dữ liệu

Giả sử chúng ta không có quyền truy cập vào bảng điều khiển MongoDB (mà chúng ta có thể không có nếu đây không phải là dữ liệu mẫu của chúng ta) và chúng ta có thể truy vấn danh sách các cơ sở dữ liệu có sẵn bằng mã sau

python -m pip install 'pymongo[srv]'
2

python -m pip install 'pymongo[srv]'
3

Chúng tôi có thể thấy tất cả các DB mẫu khác nhau mà chúng tôi đã thêm. Chúng tôi sẽ sử dụng

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
35 cho phần còn lại của bài viết

Nhận danh sách các bộ sưu tập trong cơ sở dữ liệu

Trước tiên, chúng tôi cần chỉ định cơ sở dữ liệu mà chúng tôi muốn kết nối hoặc

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
35 như đã đề cập ở trên, sau đó chúng tôi kết nối với
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
37 cụ thể bằng cách sử dụng đối tượng
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
34 mà chúng tôi đã tạo trước đó. Chúng ta có thể xem tất cả các bộ sưu tập trong cơ sở dữ liệu bằng một bản in đơn giản của phương thức
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
39

python -m pip install 'pymongo[srv]'
9

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
0

Và nếu chúng ta muốn xem một bản ghi từ bộ sưu tập, chúng ta có thể làm như vậy với đoạn mã sau

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
0

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
1

Đó là nó. Chúng tôi hiện đã kết nối với máy chủ MongoDB Atlas của mình và có thể bắt đầu truy vấn dữ liệu

Lưu Bộ sưu tập vào Khung dữ liệu Pandas

Bây giờ, đối với phần mà tất cả các bạn đang chờ đợi, hãy đưa bộ sưu tập của bạn vào Khung dữ liệu Pandas. cái nào dễ làm. Chúng tôi sẽ sử dụng phương pháp

host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
80 để truy vấn bộ sưu tập và sau đó là phương pháp
host = os.environ.get("MONGO_TEST_HOST")
username = os.environ.get("MONGO_TEST_USER")
password = os.environ.get("MONGO_TEST_PW")
81 để chuyển đổi nó thành DataFrame

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
2

Bây giờ chúng ta có một DataFrame, hãy lấy một mẫu các hàng và xem những gì nó trả về, cùng với một số khám phá cơ bản về dữ liệu

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
3

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
4

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
5

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
6

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
7

import pandas as pd
import numpy as np
from pymongo import MongoClient
import os
import pandas as pd
from urllib.parse import quote_plus
from pprint import pprint
8

Đó là nó. Bây giờ chúng tôi có DataFrame, bầu trời là giới hạn đối với những gì chúng tôi có thể làm với dữ liệu của mình

Như mọi khi, mã được sử dụng trong bài viết này có sẵn trên GitHub

Phần kết luận

Đó là nó. Chúng tôi đã tạo cụm MongoDB Atlas bậc miễn phí và định cấu hình nó để truy cập vào môi trường của chúng tôi. Sau đó, chúng tôi đã chỉ cho bạn cách xác thực với máy chủ của bạn và truy vấn cơ sở dữ liệu trên máy chủ của bạn. Cuối cùng, chúng tôi đã chỉ cho bạn cách lưu bộ sưu tập vào Khung dữ liệu Pandas. Với các bước cơ bản này, bạn có thể tận dụng sức mạnh của Pandas và Python để phân tích dữ liệu và thậm chí xây dựng bất kỳ mô hình máy học nào. Mặc dù chúng tôi mới chỉ sơ bộ về những gì có thể với MongoDB, nhưng với các bước đơn giản này, bạn có thể nhanh chóng bắt đầu các dự án khoa học dữ liệu của mình với MongoDB Atlas

Nếu bạn thích những gì bạn đọc, hãy đăng ký nhận bản tin của tôi và bạn sẽ nhận được bảng cheat của tôi về Python, Học máy (ML), Xử lý ngôn ngữ tự nhiên (NLP), SQL, v.v. Bạn sẽ nhận được email mỗi khi bài viết mới được đăng

Làm cách nào để chèn dữ liệu CSV vào MongoDB bằng Python?

Sử dụng Python Pymongo . Chọn tệp CSV để chèn vào MongoDB và chuyển đổi tệp CSV sang định dạng từ điển ∘ Step1: Select a CSV file to insert into MongoDB and convert the CSV file into dictionary format . ∘ Bước 2. Thiết lập kết nối giữa Máy tính xách tay Jupyter của bạn và Cơ sở dữ liệu MongoDB. ∘ Bước 3. Tạo cơ sở dữ liệu. ∘ Bước 5. Chèn tài liệu vào bộ sưu tập.

Làm cách nào để nhập CSV vào MongoDB?

Nếu bạn có tệp CSV (hoặc tệp TSV - chúng giống nhau về mặt khái niệm) để nhập, hãy sử dụng tùy chọn --type=csv hoặc --type=tsv để thông báo . Ngoài ra, điều quan trọng là phải biết liệu tệp CSV của bạn có hàng tiêu đề hay không - trong đó dòng đầu tiên không chứa dữ liệu - thay vào đó nó chứa tên cho từng cột. . Also important is to know whether your CSV file has a header row - where the first line doesn't contain data - instead it contains the name for each column.

Làm cách nào để kết nối gấu trúc với MongoDB?

Có ba phương pháp để kết nối MongoDB với Pandas bằng Python – PyMongo, MongoEngine và Djongo . PyMongo là trình điều khiển cấp thấp riêng được sử dụng để thực hiện các truy vấn cơ sở dữ liệu thông qua mã Python và cung cấp nhiều quyền kiểm soát hơn.

Làm cách nào để tải dữ liệu lên MongoDB bằng Python?

Để chèn một bản ghi hoặc tài liệu như cách gọi của nó trong MongoDB, vào một bộ sưu tập, chúng ta sử dụng phương thức insert_one() . Tham số đầu tiên của phương thức insert_one() là một từ điển chứa (các) tên và (các) giá trị của từng trường trong tài liệu mà bạn muốn chèn.