我正在尝试在我学校的机器群上部署地理空间联合脚本。不幸的是,他们有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.
我该如何解决这个问题?
答案 0 :(得分:0)
你不能像这样嵌套上下文管理器:
with engine.connect() as conn:
with conn.begin():
chunks = ...
在2.7中为多个上下文管理器添加了语法,为true,但是你总是可以在2.6中解决它。