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列表。以下是一个示例代码:
```pythonimport 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数据库数据。