Hướng dẫn how do i download data from mongodb to python? - làm cách nào để tải dữ liệu từ mongodb sang python?
Xem thảo luận Show
Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc is a cross-platform, document-oriented database that works on the concept of collections and documents. MongoDB offers high speed, high availability, and high scalability. Bàn luậnMongoDB là một cơ sở dữ liệu theo hướng đa nền tảng, hướng đến tài liệu, hoạt động trên khái niệm về các bộ sưu tập và tài liệu. MongoDB cung cấp tốc độ cao, tính sẵn sàng cao và khả năng mở rộng cao. Tìm nạp dữ liệu từ MongoDBThis method is used to fetch data from collection in mongoDB. It returns first first occurrence. find_one() Example: Pymongo cung cấp các phương pháp khác nhau để tìm nạp dữ liệu từ MongoDB. Hãy cùng nhìn thấy họ từng cái một. Python31) Tìm một: Phương pháp này được sử dụng để tìm nạp dữ liệu từ bộ sưu tập trong MongoDB. Nó trả về lần đầu tiên xuất hiện. & Nbsp; cú pháp: Cơ sở dữ liệu mẫu:
find()8 find()9
Đầu ra: : find() Example: Python31) Tìm một: Phương pháp này được sử dụng để tìm nạp dữ liệu từ bộ sưu tập trong MongoDB. Nó trả về lần đầu tiên xuất hiện. & Nbsp; cú pháp: Cơ sở dữ liệu mẫu:
find()0____6 find()2 find()3 ]
find()8 pymongo 1Output:
find({},{field_data:bool}) Example: Python31) Tìm một: Phương pháp này được sử dụng để tìm nạp dữ liệu từ bộ sưu tập trong MongoDB. Nó trả về lần đầu tiên xuất hiện. & Nbsp; cú pháp: Cơ sở dữ liệu mẫu:
find()0____6 find()2 find()3 ]
find()8 pymongo 1Output: Một lợi ích tuyệt đẹp của việc có MongoDB với Thư viện Python, Pandas là nó cung cấp cho bạn khả năng xuất các tài liệu MongoDB ở các định dạng khác nhau. Điều này bao gồm việc có thể xuất sang MongoDB CSV, Xuất MongoDB JSON và Xuất MongoDB HTML. Khi bạn quản lý tài liệu MongoDB, Pymongo, xuất khẩu tài liệu MongoDB Python là một nhiệm vụ mà bạn sẽ muốn hoàn thành một cách thường xuyên. Hướng dẫn này giải thích cách xuất các tài liệu MongoDB dưới dạng các tệp CSV, HTML và JSON trong Python bằng gấu trúc. Bắt đầu tìm hiểu một cách dễ dàng để tổ chức, phân tích dữ liệu theo định dạng tệp bạn chọn. Nếu bạn muốn bỏ qua hướng dẫn vì bạn biết những điều cơ bản về cách xuất Python tài liệu MongoDB, hãy truy cập mã. MongoDB - Cài đặt và chạy máy chủ. Ngoài ra, truy cập vỏ Mongo từ cửa sổ đầu cuối và nhập Python 3 - Bạn có thể sử dụng Trình quản lý gói PIP để nâng cấp lên phiên bản mới nhất. > Lưu ý: Các ví dụ trong hướng dẫn này dựa trên Python 3, không phải là phiên bản sớm hơn.NOTE: The
examples in this tutorial are based on Python 3, not earlier versions.
1 PIP3 Cài đặt-nâng cấp PIPinstall --upgrade pip
Cài đặt Gói Python Pandas
Cài đặt trình điều khiển pymongo MongoDB
Nhận thư viện Pandas bằng cách sử dụng ]4
Nhập các thư viện bổ sung bao gồm gấu trúc và trình điều khiển pymongo
Nhập các phương pháp cho thư viện gấu trúc
Nhập thư viện lớp find()01
Tạo một ví dụ find()01 mới
Lấy tài liệu với một cuộc gọi API
> Lưu ý: Bỏ qua đặt bất kỳ tham số nào trong cuộc gọi nếu bạn muốn tất cả các tài liệu. Các kết quả sẽ nằm trong một đối tượng find()06.NOTE: Skip putting any parameters in the call if you want all the documents. The results will be in a find()06 object.
Làm thế nào để biết số lượng tài liệu với phương pháp find()05
Vượt qua một từ điển trống ( |
12 | # In tổng số tài liệu trong bộ sưu tập MongoDB in ("Tổng số tài liệu trong bộ sưu tập:", col.count_document ({}))) |
Nhận số lượng tài liệu được trả về với chức năng find()
09 Python
12 | # In tổng số tài liệu được trả lại trong bản in bộ sưu tập MongoDB ("Tổng số tài liệu được trả lại bằng Find ():", Len (Danh sách (con trỏ))) |
Nhận các tài liệu MongoDB với chức năng Python find()13
- Sau khi bạn thực hiện cuộc gọi API
find()
05 và nhận đối tượng con trỏ pymongo, chuyển nó đến chức năngfind()
13 để truy cập tất cả các tài liệu.
1 | Mongo_Docs = Danh sách (Trình con trỏ)= list(cursor) |
Giới hạn xuất khẩu tài liệu MongoDB ngay từ đầu
- Bởi vì các bộ sưu tập lớn ít nhất 100 tài liệu mất một thời gian để lặp lại, hãy bắt đầu xuất chỉ một vài kết quả.
12 | # Chỉ nhận được 50 tài liệu đầu tiên trong danh sách Mongo_Docs = Mongo_Docs [: 50] |
Thực hiện cuộc gọi API find()05 để nhận danh sách bộ sưu tập MongoDB và sau đó thực hiện
Sử dụng phương thức find()17 để vượt qua đối tượng find()18
- Bước tiếp theo là thực hiện chuyển đổi
find()
19 từ các tài liệu MongoDB. *> Lưu ý: Các đối tượngfind()
20 là một chiều với hỗ trợ lập chỉ mục. Điều này khen ngợi các yêu cầu lập chỉ mục tài liệu MongoDB.NOTE:find()
20 objects are one-dimensional with indexing support. This compliments MongoDB document indexing requirements.
12 | series_obj = pandas.series ({"A Key": "a value"}) in ("series_obj:", type (series_obj))= pandas.Series({"a key":"a value"}) |
Numpy sườn find()21 có phần giống như đối tượng được trả về từ phương thức find()17.
Nhận một đối tượng gấu trúc find()20 find()24 và thay đổi nó
Bạn có thể thay đổi đối tượng
find()
20 bằng cách truyền nó và đảm bảo cả nó và khớp số phần tử chỉ mục đối tượngfind()
20.Ví dụ dưới đây hiển thị cả đối tượng và chỉ mục
find()
20 với số phần tử của một người.
123 | series_obj = pandas.series ({"one": "index"}) series_obj.index = ["one"] print ("index:", series_obj.index)= pandas.Series( {"one":"index"} ) |
Lưu trữ tài liệu trong một đối tượng find()28
Một container lưu trữ đa chiều tuyệt vời mô tả đối tượng gấu trúc
find()
29. Nó có thể giữ các mảng numpy, các đối tượngfind()
20 vàfind()
29 và từ điển khác.Tạo một đối tượng
find()
29 trống. Danh sáchfind()
33 cũng phải trống.
12 | # Tạo một DataFrame trống OBJ để lưu trữ các đối tượng chuỗi tài liệu = pandas.dataframe (cột = []) |
> Lưu ý: Để thuận tiện cho bạn, phương pháp
find()34 là một phần tích hợp của lớp
find()29. Nó rất dễ dàng để thêm các mảng đối tượng mới vào lớp.NOTE: For your convenience, the
find()34 method is a built-in part of the
find()29 class. It’s easy to add new object arrays to the class.
Thời gian để lặp qua chức năng find()36 và sau đó là PANDAS MỚI find()20 tạo đối tượng
- Hàm
find()
36 trong Python là một cách nhanh chóng để hoàn thành phép lặp MongoDB.
12 | # lặp lại danh sách các tài liệu dictoDB cho num, doc inenumerate (Mongo_docs): |
Chuyển đổi sang find()39 từ find()40
- Tạo một chuỗi Python của ID tài liệu ID. Đó là tất cả những gì bạn cần bây giờ. Lưu ID mặc dù để bạn có quyền truy cập vào sau này.
12345 | # Chuyển đổi ObjectID () thành str doc ["_ id"] = str (doc ["_ id"])) # Nhận tài liệu _id từ Dict Doc_id = doc ["_ id"] |
Sau khi xây dựng một đối tượng find()20, hãy nối nó
Từ MongoDB, xây dựng một đối tượng
find()
20 và đặt tên giống như chuỗi củafind()
43.Tiếp theo, sử dụng phương thức
find()
34 để thêm nó vào mảngfind()
29.
12345 | # Tạo một loạt OBJ từ loạt DictoDB Dicter_obj = pandas.series (doc, name = doc_id) # Nối chuỗi MongoDB OBJ vào DataFrame OBJ Docs = docs.append (series_obj) |
Bây giờ bạn có các đối tượng gấu trúc
find()20 đã được chuyển đổi từ tất cả các tài liệu. Đó là kết quả mà bạn sẽ có khi lặp lại kết thúc.
Sử dụng các phương pháp tích phân Pandas để xuất các định dạng tệp đa dạng
- Các phương pháp cố hữu của các đối tượng
find()
20 vàfind()
29 cho phép xuất hợp lý các định dạng tệp khác nhau bao gồm"database"
5]
1 vàfind()
51.
Quyết định cách bạn muốn vượt qua phương thức cuộc gọi
Để lưu dữ liệu của tài liệu vào một thư mục cụ thể, hãy xác định đường dẫn bằng cách thêm một đối số.
Nếu bạn không vượt qua một đối số, nó sẽ trả về dữ liệu của tài liệu dưới dạng một chuỗi được định dạng.
Dữ liệu tài liệu MongoDB được trả về dưới dạng chuỗi find()
52, ]
8 hoặc find()
54.
- Các ví dụ dưới đây cho thấy cách sử dụng chức năng
find()
55 để xuất tài liệu MongoDB JSON và xuất CSV MongoDB.
1234567 | # Có gấu trúc trả về chuỗi JSON của các tài liệu json_export = docs.to_json ()# trả về in dữ liệu json ("\ njson dữ liệu:" # Xuất tài liệu MongoDB sang CSV CSV_Export = docs.to_csv (sep = ",") |
- Khi bạn muốn xuất MongoDB HTML, bạn có thêm một tùy chọn. Bạn có thể sử dụng phương pháp Pandas,
find()
56 để tạo chuỗifind()
57. Điều này sẽ xuất dữ liệu vào bảng HTML tài liệu MongoDB giống như ví dụ dưới đây.
1234567891011 | # Tạo IO HTML Chuỗi Nhập IO HTML_STR = IO.Stringio () # Xuất dưới dạng tài liệu HTML.TO_HTML (BUF = html_str, classes = 'bảng steped')# in ra bản in bảng HTML (html_str.getValue ()) |
Xuất dưới dạng CSV, JSON hoặc HTML từ dữ liệu của tài liệu MongoDB
- Sau khi bạn tiến hành một tài liệu MongoDB xuất khẩu Python, định dạng chuyển đổi là tự động cho bất kỳ loại tệp nào bạn chọn dựa trên phương thức cuộc gọi.
12345678 | # Xuất các tài liệu MongoDB dưới dạng tài liệu tệp JSON.TO_JSON ("Object_rocket.json") # Xuất tài liệu MongoDB sang tài liệu tệp CSV.TO_CSV ("Object_rocket.csv", ",")# CSV được phân định bởi dấu phẩy # Lưu tài liệu MongoDB dưới dạng tài liệu bảng HTML.TO_HTML ("Object_rocket.html") |
> Lưu ý: Hãy nhớ nêu đường dẫn tệp để đặt tệp thư mục đã chọn. Nếu không, nó ở trong cùng thư mục với tập lệnh của bạn.NOTE: Remember to state the file path to place the file your chosen directory. Otherwise, it stays in the same directory as your script.
Sự kết luận
Hướng dẫn này đã giải thích các tài liệu MongoDB Pymongo. Nó đã đi qua cụ thể làm thế nào để chuyển đổi các tài liệu MongoDB bằng cách xuất theo nhiều định dạng thường được sử dụng. Tại một số điểm trong trách nhiệm quản lý tài liệu MongoDB hàng ngày của bạn, bạn sẽ cần xuất tài liệu MongoDB CSV, Xuất MongoDB JSON hoặc Xuất tài liệu MongoDB HTML hoặc dưới dạng tệp.
Trong số những điều khác về cách xuất python mongDB, bạn đã phát hiện ra cách cấu trúc lưu trữ giống như container
find()29 của Pandas giữ các đối tượng
find()20 của bạn. Nắm vững các kỹ thuật xem tài liệu MongoDB Python trong các định dạng bạn yêu cầu tiết kiệm thời gian của bạn khi bạn cần phân tích, sắp xếp và thao tác dữ liệu tài liệu của bạn. Bây giờ bạn đã sẵn sàng để tự tin xuất tài liệu MongoDB Python.
Xem dữ liệu của tài liệu MongoDB bằng cách mở thư mục giống như tập lệnh Python
Chỉ là mã
Tại đây, toàn bộ tập lệnh về cách xuất các tài liệu Python MongoDB dưới dạng tài liệu MongoDB CSV, MongoDB Tài liệu JSON và tệp MongoDB HTML.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | #!/usr/bin/env python3 #-*-mã hóa: UTF-8-*- # Nhập lớp Mongoclient từ Pymongo Nhập khẩu MongoClient # Nhập Pandas Thư viện Pandas # Những thư viện này là nhập khẩu JSON nhập khẩu tùy chọn # Xây dựng một phiên bản khách hàng mới của MongoLient Mongo_Client = Mongoclient ('Localhost', 27017) # Tạo cơ sở dữ liệu mới và phiên bản thu thập db = Mongo_Client.some_database col = db.some_collection # Thời gian bắt đầu của tập lệnh start_time = Time.time () # Thực hiện cuộc gọi API đến Máy chủ MongoDB Trình con trỏ = col.find () # Trích xuất danh sách các tài liệu từ con trỏ obj Mongo_docs = list (con trỏ) # Hạn chế số lượng tài liệu để xuất Mongo_docs = Mongo_Docs [: 50]# Slice Danh sách in ("Tổng số tài liệu:", Len (Mongo_Docs)) # Tạo một khung dữ liệu trống để lưu trữ tài liệu tài liệu = pandas.dataframe (cột = []) # lặp lại danh sách các tài liệu dictoDB cho num, doc inenumerate (Mongo_docs): # Chuyển đổi ObjectID () thành str doc ["_ id"] = str (doc ["_ id"])) # Nhận tài liệu _id từ Dict Doc_id = doc ["_ id"] # Tạo một loạt OBJ từ loạt DictoDB Dicter_obj = pandas.series (doc, name = doc_id) # Nối chuỗi MongoDB OBJ vào DataFrame OBJ Docs = docs.append (series_obj) # Chỉ in mỗi tài liệu thứ 10 nếu num % 10 == 0: in (loại (doc)) in (loại (doc ["_ id"])) in (num, "-", doc, "\ n") "Xuất các tài liệu MongoDB sang các định dạng tệp khác nhau" in ("\ nexporting pandas đối tượng sang các loại tệp khác nhau.") In ("DataFrame Len:", Len (Docs)) # Xuất các tài liệu MongoDB dưới dạng tài liệu tệp JSON.TO_JSON ("Object_rocket.json") # Có gấu trúc trả về chuỗi JSON của các tài liệu json_export = docs.to_json ()# trả về in dữ liệu json ("\ njson dữ liệu:" # Xuất tài liệu MongoDB sang tài liệu tệp CSV.TO_CSV ("Object_rocket.csv", ",")# CSV được phân định bởi dấu phẩy # Xuất tài liệu MongoDB sang CSV CSV_Export = docs.to_csv (sep = ",") # Tạo IO HTML Chuỗi Nhập IO HTML_STR = IO.Stringio () # Xuất dưới dạng HTML Docs.TO_HTML (BUF = html_str, classes = 'bảng sọc bảng')) # In ra bản in bảng HTML (html_str.getValue ()) # Lưu tài liệu MongoDB dưới dạng tài liệu bảng HTML.TO_HTML ("Object_rocket.html") print ("\ n \ ntime đã qua:", thời gian.time ()-start_time) ("\n\ntime elapsed:", time.time()-start_time) |
Phi công nền tảng Objectrocket miễn phí!
Hãy thử được quản lý đầy đủ gián, Elaticsearch, MongoDB, PostgreSQL (beta) hoặc redis.
Bắt đầu