Tôi sử dụng một hàm như thế này để lấy các dòng JSON lồng nhau vào một khung dữ liệu. Nó sử dụng pandas json.normalize
tiện dụng chức năng:
import pandas as pd
from bson import json_util, ObjectId
from pandas.io.json import json_normalize
import json
def mongo_to_dataframe(mongo_data):
sanitized = json.loads(json_util.dumps(mongo_data))
normalized = json_normalize(sanitized)
df = pd.DataFrame(normalized)
return df
Chỉ cần chuyển dữ liệu mongo của bạn bằng cách gọi hàm với nó làm đối số.
sanitized = json.loads(json_util.dumps(mongo_data))
tải các dòng JSON dưới dạng JSON thông thường
normalized = json_normalize(sanitized)
hủy lưu trữ dữ liệu
df = pd.DataFrame(normalized)
chỉ cần biến nó thành một khung dữ liệu