从mongodb读取并在数据帧中转换



嗨,我正试图从MongoDB读取数据,并试图将其转换为数据帧,但收到一个错误,上面写着";("无法转换ObjectId类型为"620d3f43ae93743dbb6f6846"的ObjectId:在推断Arrow数据类型时无法识别Python值类型","类型为object"("的列_id的转换失败;。

我的代码如下:

import streamlit as st
import pymongo
import streamlit as st
from pymongo import MongoClient    
import pandas as pd
import json
import string
import io
import re
import time
import csv
from pandas import Timestamp
import certifi
import datetime
from pandas.io.json import json_normalize
client=pymongo.MongoClient()
connection = MongoClient("mongodb+srv://*****:****@cluster0.t4iwt.mongodb.net/testdb?retryWrites=true&w=majority",tlsCAFile=certifi.where())
db=connection["testdb"]    
collection=db["test"]
cursor = collection.find()
entries=list(cursor)
entries[:]
df=pd.DataFrame(entries)
st.write(df)

将_id的类型更改为str.

df = pd.DataFrame(entries)
df = df.astype({"_id": str})
st.write(df)

最新更新