python - 从 sqlalchemy 转储 csv

标签 python csv sqlalchemy python-elixir

出于某种原因,我想以 csv 文件的形式从数据库 (sqlite3) 中转储一个表。我正在使用带有 elixir 的 python 脚本(基于 sqlalchemy)来修改数据库。我想知道是否有任何方法可以将我使用的表转储到 csv。

我见过 sqlalchemy serializer但这似乎不是我想要的。我做错了吗?我应该调用sqlite3 python module在关闭我的 sqlalchemy session 转储到文件之后?还是我应该用自制的东西?

最佳答案

稍微修改彼得汉森的答案,使用 SQLAlchemy 而不是原始数据库访问

import csv
outfile = open('mydump.csv', 'wb')
outcsv = csv.writer(outfile)
records = session.query(MyModel).all()
[outcsv.writerow([getattr(curr, column.name) for column in MyTable.__mapper__.columns]) for curr in records]
# or maybe use outcsv.writerows(records)

outfile.close()

关于python - 从 sqlalchemy 转储 csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2952366/

相关文章:

python - 基于MultiColumn二级的圆柱

python - pandas.read_csv() 可以在同一列中应用不同的日期格式!这是一个已知的错误吗?如何解决?

python - 我可以在查询调用中动态更改 order_by 属性吗?

python - 为什么有 2 个不同的输出

python - 字典作为 Django 模板中的表

python - 停止在 spyder 中显示绘图

python - 实现数字方法总是返回 NotImplemented

c - 在循环中使用 scanf() 扫描 CSV 文件在第一行和第二行开始后停止

R 中的请求 URL 失败/超时

使用 sqlalchemy 的 mariadb 的 Python 数据库连接