Oracle不定行数据转换成列表(oracle 不定行转列)

Oracle不定行数据转换成列表

在Oracle数据库中,我们经常需要将不定行的数据,例如查询结果或者中间表的数据转换成Python列表,以便在Python程序中进行进一步的分析或处理。本文介绍了一种将Oracle不定行数据转换成Python列表的方法。

方法一:使用Oracle查询结果转换成Python列表

我们可以使用cx_Oracle、sqlalchemy等Python库连接Oracle数据库,并执行查询语句,将查询结果转换成Python列表。以下是一个示例代码:

“`python

import cx_Oracle

dsn = cx_Oracle.makedsn(‘host’, ‘port’, service_name=’service name’)

conn = cx_Oracle.connect(user=’username’, password=’password’, dsn=dsn)

cursor = conn.cursor()

sql = “SELECT column1, column2, column3 FROM table_name”

cursor.execute(sql)

results = cursor.fetchall()

rows = []

for row in results:

rows.append(list(row))

print(rows)

cursor.close()

conn.close()


在上述代码中,我们使用cx_Oracle连接Oracle数据库,查询表中的三个列,并将查询结果转换成Python列表rows,其中每个元素为一个列表,包含查询结果中一行的所有列数据。

方法二:使用pandas将Oracle查询结果转换成Python列表

我们也可以使用pandas将Oracle查询结果直接转换成Python列表。以下是一个示例代码:

```python
import pandas as pd
import cx_Oracle

dsn = cx_Oracle.makedsn('host', 'port', service_name='service name')
conn = cx_Oracle.connect(user='username', password='password', dsn=dsn)
sql = "SELECT column1, column2, column3 FROM table_name"
df = pd.read_sql(sql, con=conn)
rows = df.values.tolist()

print(rows)

conn.close()

在上述代码中,我们首先使用cx_Oracle连接Oracle数据库,然后使用pandas读取查询结果,将查询结果转换成DataFrame,最后使用values.tolist()方法将DataFrame转换成Python列表rows,其中每个元素为一个列表,包含查询结果中一行的所有列数据。

小结

本文介绍了两种将Oracle不定行数据转换成Python列表的方法。第一种方法使用cx_Oracle或者其他Python库连接Oracle数据库,执行查询语句,将查询结果转换成Python列表;第二种方法使用pandas将Oracle查询结果直接转换成Python列表。在实际应用中,我们可以根据具体情况选择不同的方法,以便更加高效地处理Oracle数据库数据。


数据运维技术 » Oracle不定行数据转换成列表(oracle 不定行转列)