使用python 2.6连接到SQLite,pandas和SqlAlhemy - mission impossibe?

时间:2016-03-03 20:04:31

标签: python sqlite pandas sqlalchemy python-2.6

我正在尝试在我学校的机器群上部署地理空间联合脚本。不幸的是,他们有python 2.6(Cloudera的标准),我必须相应地重新编写我的代码。

读取pandas.from_sql()需要建立SQLAlchemy连接。但是,他们提出的方式在python 2.6中不起作用:

engine = create_engine('sqlite:///%s' % path)

with engine.connect() as conn, conn.begin():
    chunks = pd.read_sql_table('tweets', conn, columns=columns, chunksize=50)

然而,似乎python 2.6并不喜欢''陈述,也不喜欢......作为......,......:'。所以我不得不稍微修改一下代码:

conn = engine.connect()
conn.begin()
chunks = pd.read_sql_table('tweets', conn, columns=columns, chunksize=50)
conn.close()

然而,这引发了另一个错误,非常奇怪的一个:

 raise NotImplementedError("read_sql_table only supported for "
NotImplementedError: read_sql_table only supported for SQLAlchemy connectable.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

你不能像这样嵌套上下文管理器:

with engine.connect() as conn:
    with conn.begin():
        chunks = ...

在2.7中为多个上下文管理器添加了语法,为true,但是你总是可以在2.6中解决它。