繁体   English   中英

如何将 SQL Oracle 数据库转换为 Pandas DataFrame?

[英]How to convert SQL Oracle Database into a Pandas DataFrame?

我正在尝试将 Oracle SQL 数据库导入 python,以便我可以聚合/分析数据。 Pandas 对这项任务非常有用。 但是每当我尝试使用我的代码时,它就会挂起并且不输出任何内容。 我不确定是因为我使用的是 cx oracle 包,然后使用了 Pandas 包?

import cx_Oracle as cxo
import pandas as pd 
dsn=cxo.makedsn(
    'host.net',
    '1111',
    service_name='servicename'
)
conn=cxo.connect(
    user='Username',
    password='password',
    dsn=dsn)
c=conn.cursor()
a=c.execute("SELECT * FROM data WHERE date like '%20%'")
conn.close
df=pd.DataFrame(a)
head(df)

但是,当我使用下面的代码时,它会打印出我要查找的数据。 我需要将此数据转换为熊猫数据框,

for row in c: print(row)
conn.close()

我对 python 很陌生,所以任何帮助都将不胜感激!!

要将 cx_Oracle 游标转换为数据帧,您可以使用以下代码。

with conn.cursor() as cursor:
    cursor.execute("SELECT * FROM data WHERE date like '%20%'")
    from pandas import DataFrame
    df = DataFrame(cursor.fetchall())
    df.columns = [x[0] for x in cursor.description]
    print("I got %d lines " % len(df))

注意我使用光标作为上下文管理器。 所以它会在块的末尾自动关闭。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM