2015-01-21 4 views
-1

Я новичок в программировании вообще, и у меня есть .py db, которому мне было поручено сбрасывать в .txt-файл, который затем я могу использовать в ROOT для создания гистограммы данные.Python: Dump DB в .txt файл

Прошу прощения за то, что я не могу быть слишком конкретным, но я знаю, что данные поступают из базы данных 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-файл, но я просто не могу его найти.

+1

Если 'script.py' - это то, что вы собираетесь использовать, почему бы не выводить в каталог, который существует ** **? –

+0

1. используйте mysqldump для вывода данных из mysql. 2. создайте папки перед тем, как поместить в них файлы с помощью 'mkdir -p folder/path /' –

+0

Дело в том, что я получаю доступ к данным из mysql удаленно, чтобы я мог скопировать дамп python, а затем из .py-файла создать .txt. Я попытался создать папки и даже попытался поместить файл в уже существующие каталоги, и он все еще говорит, что их не существует. –

ответ

0

Если вы получаете ошибку, сказав, что папка не существует, убедитесь, что вы создаете папку с помощью 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. Не заново изобретайте колесо :)

+0

Я объяснял выше в других комментариях, у меня нет доступа к фактической базе данных mysql, это всего лишь моментальный снимок, который был сброшен в .py-файл. –

+0

Я пробовал это: python snapshotSmartCacheDb.py> snapshotSmartCacheDb.txt, и, похоже, он работал, но я не знаю, где найти .txt-файл, который, кажется, был создан? –

+0

можете ли вы показать, что на самом деле находится в скрипте python? (вы можете оставить конкретные данные) –

0

Вам не нужен Python для получения дампа MySQL. Вас может заинтересовать mysqldump. Выполните следующую команду:

mysqldump db_name > dump.sql 

Другой простой вариант для вас может быть использовать phpmyadmin экспортировать базу данных в формате SQL.

+0

Я добавил комментарий, чтобы он знал о mysqldump, если он ему нужен. Это не значит, что он хочет все данные. –

+0

У меня только ограниченный доступ к базе данных. У меня только есть доступ к файлу .py, который был выгружен из базы данных MySQL. Я должен взять таблицу в .py и создать из нее TXT-файл. –

Смежные вопросы