当前位置: 首页 > 面试题库 >

从sqlalchemy转储csv

单于淇
2023-03-14
问题内容

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

我看过sqlalchemy序列化器,但这似乎不是我想要的。我做错了吗?我应该在关闭sqlalchemy会话以转储到文件后调用sqlite3
python模块
吗?还是我应该使用自制的东西?


问题答案:

有多种方法可以实现此目的,如果安装os.system()了该sqlite3工具,则可以简单地调用该实用程序,但这大致就是我在Python中要做的事情:

import sqlite3
import csv

con = sqlite3.connect('mydatabase.db')
outfile = open('mydump.csv', 'wb')
outcsv = csv.writer(outfile)

cursor = con.execute('select * from mytable')

# dump column titles (optional)
outcsv.writerow(x[0] for x in cursor.description)
# dump rows
outcsv.writerows(cursor.fetchall())

outfile.close()


 类似资料:
  • 在Flask Web应用程序中使用原始SQL在数据库上执行CRUD操作可能很繁琐。 相反, SQLAlchemy是一个功能强大的OR Mapper ,它为应用程序开发人员提供了SQL的全部功能和灵活性。 Flask-SQLAlchemy是Flask扩展,它将对SQLAlchemy的支持添加到Flask应用程序中。 What is ORM (Object Relation Mapping)? 大多数

  • 问题内容: 这个主题在这里或其他地方已经有一段时间没有得到解决了。是否有将SQLAlchemy转换为pandas DataFrame的解决方案? Pandas可以使用,但是这需要使用原始SQL。我有两个要避免的原因:1)我已经使用ORM拥有了一切(本身就是一个很好的理由),并且2)我正在使用python列表作为查询的一部分(例如:模型类在哪里)并且是列表)。这等效于SQL 。 有什么可能吗? 问题

  • 问题内容: 我需要一种 从应用程序内部 请求堆转储 的方法 。 基本原理:当遇到特定的错误情况时,我想转储堆,以便可以看到内存中有什么内容。 但是我想使它自动化(例如,当我检测到某些特定情况发生时。或者当看门狗不再收到ping命令时;当某些测试失败时)。因此,我需要一种从应用程序本身内部转储堆的方法。我似乎无法通过MX bean的东西找到它。尽管MX Bean可以通过监视器和“可拥有的同步器”信息

  • 我正在尝试将Java进程的Linux核心转储转换为堆转储文件,适合用Eclipse MAT进行分析。根据这篇博客文章,适应于较新的OpenJDK 12,我创建了一个核心转储,然后运行将转储转换为HPROF格式: 核心转储文件是22GB,而堆转储文件只有3MB,因此命令可能无法处理整个核心转储。此外,Eclipse MAT无法打开堆转储文件,并显示以下消息:

  • 问题内容: 我离开Linode是因为我没有必要的Linux sysadmin技能。在完成向更加友好的服务过渡之前,我需要下载MySQL数据库的内容。有什么办法可以从命令行执行此操作? 问题答案: 您可以使用mysqldump命令行功能完成此操作。 例如: 如果是整个数据库,则: 如果是所有DB,那么: 如果是数据库中的特定表,则: 您甚至可以使用gzip来自动压缩输出(如果您的数据库很大): 如果