我试着点击一个按钮,运行一个python文件来执行naivebayes并将值更新到Mysql表。我的代码如下:
控制器.php
public function execute_excel()
{
shell_exec('python D:\laravel-crud\public\admin\mysqlku.py');
return redirect()->back();
}
mysqlku.py文件
*some codes*
# update the database with new values
logging.basicConfig(level=logging.DEBUG)
for key,row in values.iterrows():
up = conn.execute("UPDATE mahasiswa SET daftar_kembali = '{}' WHERE id_mahasiswa = {}"
.format(row['daftar_kembali'], row['id_mahasiswa']))
logging.debug(up)
当我直接用Spyder/Terminal运行mysqlku.py
时,我可以很好地更新mysql表,但是在Controller.php
中无法这样做。你知道吗
有人知道如何使用shell_exec()
?你知道吗
ResultProxy调试不会显示在Spyder中,但会显示在Terminal中。你知道吗
DEBUG:root:<sqlalchemy.engine.result.ResultProxy object at 0x000001DE4671C5C0>
DEBUG:root:<sqlalchemy.engine.result.ResultProxy object at 0x000001DE4671C668>
DEBUG:root:<sqlalchemy.engine.result.ResultProxy object at 0x000001DE4671C5F8>
etc.
您需要与ResultProxy交互。根据SQLAlchemy的documentation:
返回的结果是ResultProxy的一个实例,它引用了一个DBAPI游标,并提供了一个与DBAPI游标基本兼容的接口。当DBAPI游标的所有结果行(如果有的话)都用完时,它将被ResultProxy关闭。不返回任何行的ResultProxy,例如UPDATE语句(不返回任何行),在构造时立即释放游标资源。你知道吗
试试这个:
参考站点:https://code-maven.com/slides/python-programming/sqlalchemy-engine-select
相关问题 更多 >
编程相关推荐