sqlalchemyデータベースがあり、更新クエリを実行する場合。 SELECTコマンドにも同じ方法を使用できると思っていました。PythonでSQLAlchemy SQLビルダーでUPDATEクエリを実行するには?
は、ここに私のコードです:
disk_engine = create_engine('sqlite:///test.db')
chunksize = 20000
j = 0
index_start = 1
for df in pd.read_csv('test.csv', chunksize=chunksize,
iterator=True, encoding='utf-8'):
df.index += index_start
j+=1
df.to_sql('data', disk_engine, if_exists='append')
index_start = df.index[-1] + 1
...
##NOW I WANT TO UPDATE A ROW
ts = pd.read_sql_query('UPDATE data SET score = ROUND(score,1)', disk_engine);
しかし、これはエラーをスローします:
result.pyc in _non_result(self, default) 918 if self._metadata is None: 919 raise exc.ResourceClosedError( --> 920 "This result object does not return rows. " 921 "It has been closed automatically.", 922 )
ResourceClosedError: This result object does not return rows. It has been closed automatically.
どのように私は正しく、データベースを更新することができますか?
[SQLAlchemy:自動終了を防ぐ](http://stackoverflow.com/questions/14375666/sqlalchemy-prevent-automatic-closing) – shivsn
これは私の質問にどのように答えますか? – user2212461