- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试使用 Python 语言的数据分析工具 Pandas。我正在尝试使用 ibm_db 包从 IBM DB 读取数据。根据 Pandas 网站上的文档,我们至少需要提供 2 个参数,一个是要执行的 sql,另一个是数据库的连接对象。但是当我这样做时,它给我错误,连接对象中没有 cursor() 方法。我想也许这不是这个特定的数据库包的工作方式。我试图找到一些解决方法,但没有成功。
代码:
print "hello PyDev"
con = db.connect("DATABASE=db;HOSTNAME=localhost;PORT=50000;PROTOCOL=TCPIP;UID=admin;PWD=admin;", "", "")
sql = "select * from Maximo.PLUSPCUSTOMER"
stmt = db.exec_immediate(con,sql)
pd.read_sql(sql, db)
print "done here"
错误:
hello PyDev
Traceback (most recent call last):
File "C:\Users\ray\workspace\Firstproject\pack\test.py", line 15, in <module>
pd.read_sql(sql, con)
File "D:\etl\lib\site-packages\pandas\io\sql.py", line 478, in read_sql
chunksize=chunksize)
File "D:\etl\lib\site-packages\pandas\io\sql.py", line 1504, in read_query
cursor = self.execute(*args)
File "D:\etl\lib\site-packages\pandas\io\sql.py", line 1467, in execute
cur = self.con.cursor()
AttributeError: 'ibm_db.IBM_DBConnection' object has no attribute 'cursor'
如果我从数据库中获取数据,我可以获取数据,但我需要读入数据框并需要在处理数据后写回数据库。
从数据库中获取代码
stmt = db.exec_immediate(con,sql)
tpl=db.fetch_tuple(stmt)
while tpl:
print(tpl)
tpl=db.fetch_tuple(stmt)
最佳答案
在进一步研究包时,我发现我需要将 IBM_DB 连接对象包装在 ibm_db_dbi 连接对象中,它是 https://pypi.org/project/ibm-db/ 的一部分。包。
所以
conn = ibm_db_dbi.Connection(con)
df = pd.read_sql(sql, conn)
以上代码有效,pandas 成功将数据提取到数据框中。
关于python - 将 IBM_DB 与 Pandas 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33804410/
我正在尝试安装“ibm_db”gem 并验证安装。我在 Windows 7 上运行,我正在尝试对所有内容使用 32 位。我需要连接的数据库是 IBM iSeries 上的 DB2。以下是我目前使用的步
我在 Centos 7 上使用 Python,并且已经安装了带有 DB2 11.3 客户端的 GSK8Kit。 所以我设置: IBM_DB_HOME=/path/to/my/db2client/sql
我在 Linux SUSE 上安装 IBM_DB 模块时遇到问题。这是问题的详细解释。 我的 NodeJS API 使用的是 IBM_DB 模块。在我的 Windows 机器上,我可以毫无问题地安装驱
我已按照说明操作:https://www.ibm.com/developerworks/community/blogs/pd/entry/using_ibm_db2_from_node_js4?max
我正在尝试使用 Python 语言的数据分析工具 Pandas。我正在尝试使用 ibm_db 包从 IBM DB 读取数据。根据 Pandas 网站上的文档,我们至少需要提供 2 个参数,一个是要执行
我是 NodeJS 技术的新手,在从事 NodeJS 项目时,我遇到了以下问题。 我已经实现了 ibm_db 模块(以建立 DB2 连接),并使用“准备好的语句”来执行“SELECT”查询。下面的查询
我正在尝试在 Linux Ubuntu 机器上运行 python 服务。我的 Dockerfile 有一个命令可以成功安装requirement.txt中的所有依赖项,但由于超时错误而无法安装ibm_
我尝试使用 Python 包 ibm_db 连接到 Informix 数据库,但收到以下错误。 错误: builtins.Exception: [IBM][CLI Driver] SQL0902C A
好的,我是 Ruby 的新手,我正在尝试弄清楚如何连接到运行在 AS/400(iSeries、Power i、System i,无论 IBM 现在如何调用它)上的 DB2 数据库。这是我的具体情况:
我正在尝试构建 ibm_db 以在 Electron 应用程序中使用。 构建环境是 windows 7, 64 位,使用 MSVS 2015。 基本 Node 版本是 4.2.6,Electron 版
我在安装 ibm_db 时遇到问题。我收到“当该文件已存在时无法创建文件:'tests' -> 'test_2'” 我使用的是 Windows 7 x64,Python 3.6。目的是使用 SQLAl
我正在尝试在 bsd 上使用专为 linux 设计的 lib 用于 IBM-db 连接: 我已经按照适用于 linux 的 ibmdocs 安装,并将所需的 linux 库放在/compat/linu
嗨,谁能举一个如何在nodejs中使用insert语句的例子。我可以使用选择查询。但对于插入查询,我得到的结果为[]。没有看到错误,但值没有添加到原始表中。我正在使用 db2、ibm_db、expre
有没有人使用 ibm_db 包和 IBM 的 Python for PASE 来更新 IBM i(以前的 AS/400)上的 Db2 文件? 我想使用 Python 脚本(来自 QSH)来更新 Db2
我正在尝试使用带有 SSL 的 python 模块 ibm_db 连接到 DB2,但出现以下错误 conn = ibm_db.connect("DATABASE=myDB;HOSTNAME=xx.x
我正在尝试通过 pecl 安装 ibm_db2: pecl install ibm_db2 然后当它要求安装目录时,我尝试了不同的地方,结果都是一样的。它经过一系列检查等,然后尝试“制作”并出现错误:
我在 Ruby 2.3.4 上使用 Rails 5.2.0 连接到 MySQL(通过 mysql2 gem)和 DB2(通过 ibm_db gem)数据库。 当我尝试连接到 DB2 时,我得到: 加载
我使用的是 Node 版本 4.1.1。我正在尝试使用以下命令安装 Node.js 的 ibm_db 包:npm install git+https://git@github.com/ibmdb/no
我正在尝试安装 ibm_db - python3.6 但无法进行 pip 安装。在 python 2.7 上安装成功,但在 3.6 上它抛出 gcc 错误 docker 文件 RUN yum -y i
我使用这个问题/答案在 Lion 中安装 DB2:How do I install IBM DB2 Express-C on Mac OS X 10.7 Lion? 配置数据库后,我可以从命令行使用
我是一名优秀的程序员,十分优秀!