如何使用 pandas 将 oracle clob 列转换为列表

How to covert oracle clob column to list using pandas

我正在尝试将 clob 列从 oracle table 读取到 pandas 数据帧中。在将 pandas 数据帧作为列表传递给分类器之前,我需要对其进行转换。

结果显示—— 有多个条目

我想看到类似 ['string1', string2','string3']

的结果

请帮忙 下面的代码片段 -

import pandas as pd
import cx_Oracle
connection = cx_Oracle.connect('username/pass@localhost/schema')
statement = "select clob_column from table "
df = pd.read_sql(statement, con=connection)
#print(df.head())
corpus=(df['CLOB_COLUMN'].values.tolist())
print (corpus)

您可以使用以下方法解决您的问题:

import cx_Oracle
import pandas as pd

connection_string = 'username/pass@localhost/schema'
clob_column_name = 'CLOB_COLUMN'
query = "SELECT {} FROM table".format(clob_column_name)

with cx_Oracle.connect(connection_string) as connection:
    df = pd.read_sql(sql=query, 
                     con=connection)
    # need to read data from cx_Oracle.LOB objects
    df[clob_column_name] = df[clob_column_name].apply(lambda x: x.read())

print(df[clob_column_name].values.tolist())

# ['string1', 'string2', 'string3']