出于某种原因,我想以 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/