【问题标题】:Python: Dump DB into .txt filePython:将 DB 转储到 .txt 文件中
【发布时间】:2015-01-21 10:29:41
【问题描述】:

我是一般的编程新手,我有一个 .py 数据库,我的任务是转储到一个 .txt 文件中,然后我可以在 ROOT 中使用它来创建数据的直方图。

很抱歉,我不能说得太具体,但我知道数据来自 MySQL 数据库,并且有人告诉我使用 Python“轻松”将数据转储到 .txt 文件中。

到目前为止我已经尝试过

python /path/to/script.py > /path/to/output/myfile.txt

但它说输出的目录不存在。

我也试过

SELECT * FROM /path/to/script.py
--> INTO OUTFILE '/path/to/output/myfile.txt';

但我对服务器的访问被拒绝了。

我确信 Python 中一定有一种非常简单的方法可以简单地将所有数据转储到 .txt 文件中,但我根本找不到它。

【问题讨论】:

  • 如果script.py 是您要使用的,为什么不输出到确实存在的目录?
  • 1.使用mysqldump 从mysql 转储数据。 2. 使用mkdir -p folder/path/ 在将文件放入之前创建文件夹
  • 问题是我从 mysql 远程访问数据,以便我可以复制 python 转储,然后从 .py 文件创建一个 .txt 文件。我尝试过创建文件夹,甚至尝试将文件放入已经存在的目录中,但它仍然说它们不存在。

标签: python mysql database


【解决方案1】:

如果您收到错误消息说文件夹不存在,请确保在文件夹内创建文件之前使用mkdir 创建文件夹:

mkdir -p /path/to/output/

现在该文件夹确实存在,您可以运行:

python /path/to/script.py > /path/to/output/myfile.txt

如果文件夹存在,-p 标志将使命令不会失败,并创建您打算写入的文件夹的所有必要父级:

-p, --parents
      no error if existing, make parent directories as needed

此外,从您的问题标题看来,您似乎想转储整个数据库,或者可能是一些表。有一个工具可以做到这一点,它叫做mysqldump。不要重新发明轮子:)

【讨论】:

  • 我在上面的其他 cmets 中解释过,我无法访问实际的 mysql 数据库,只有一个被转储到 .py 文件中的快照。
  • 我试过这个:python snapshotSmartCacheDb.py > snapshotSmartCacheDb.txt 似乎可以工作,但我不知道在哪里可以找到似乎已经创建的 .txt 文件?
  • 你能显示python脚本中的实际内容吗? (您可以省略特定数据)
  • Mysql> select * from DatasetStatus --> dset="" nused=1 和上面类似的数百个条目
  • python这个牌子我不熟悉
【解决方案2】:

您不需要 Python 来进行 MySQL 转储。您可能对mysqldump 感兴趣。运行以下命令:

mysqldump db_name > dump.sql

其他更简单的选择可能是使用phpmyadmin 将数据库导出为 SQL 文件。

【讨论】:

  • 我添加了评论,以便他知道 mysqldump 以备不时之需。这并不意味着他想要所有的数据。
  • 我对数据库的访问权限有限。我只能访问从 MySQL 数据库中转储的 .py 文件。我必须在 .py 中获取表格并从中创建一个 .txt 文件。
猜你喜欢
  • 1970-01-01
  • 2013-02-19
  • 2021-03-02
  • 2017-09-13
  • 1970-01-01
  • 1970-01-01
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多