Postgresql数据库表数据返回TypeError。。。在python中JSON不可序列化

2024-06-14 11:59:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在Jupyter笔记本中为一个使用Ibm Watson的机器学习项目设置一些python代码,当我尝试从Postgresql数据库添加数据时,我不断得到一个TypeError is not JSON serializable

以下是为清晰起见的完整输出:

TypeError:                                           description
0   Lorem ipsum sjvh  hcx bftiyf,  hufcil, igfgvju...
1   Lorem ajjgvc wiufcfboitf iujcvbnb hjnkjc  ivjh...
2   Lorem aiv ibveikb jvk igvcib ok blnb v  hb b h...
3   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
4   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
5   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
6   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
7   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
8   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
9   Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
10     lorem sivbnogc hbiuygv bnjiuygv bmkjygv nmjhgv
11  Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
12  Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
13  Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
14  Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
15  Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
16  Lorem jsvc smc cbd ciecdbbc d vd bcvdvbj obcvb...
17  lore  juhgv bnmkiuhygv nmkiuhb mkjiuhb mkjgv m...
18  Lorem uhygfv bniuhgv nmkjuhgv nmkijuhygv mkihv... is not JSON serializable

这是我的python代码,它部署了ML模型来分析这些数据,如您所见,这些数据是随机的句子,但在测试后将是产品描述:

from watson_developer_cloud import NaturalLanguageClassifierV1
import pandas as pd
import psycopg2


# Connecting to my database.
conn_string = 'host={} port={}  dbname={}  user={}  password={}'.format('159.***.20.***', 5432, 'searchdb', 'lcq09', 'Mys3cr3tPass')
conn_cbedce9523454e8e9fd3fb55d4c1a52e = psycopg2.connect(conn_string)
data_df_1 = pd.read_sql('SELECT description from public."search_product"', con=conn_cbedce2drf563454e8e9fd3fb8776fgh2e)

# Connecting to the ML model.
natural_language_classifier = NaturalLanguageClassifierV1(
    iam_apikey='TB97dFv8Dgug6rfi945F3***************'
)

# Apply the ML model to db datas
classes = natural_language_classifier.classify('9841d0z5a1-ncc-9076', data_df_1)
print(json.dumps(classes, indent=2))

我怎样才能解决这个问题


Tags: to数据代码importconnmlsmclorem