Подскажите как переделать Базу Данных
21 сообщение
#16 лет назад
Уважаемые форумчане, здравствуйте!Подскажите как мне переделать список имеил адресов из такого:
*** имя
сначала идеи e-mail потом пробел и имя подписчика. на каждой строчке по одному подписчику в таком формате.
необходимо из данного списка сделать такой:
"***","Иван"
все это сделать в CSV-файле.
P.S хочу перейти с Почтового дятла на Смарт. Подскажите как это можно осуществить.
21 сообщение
#16 лет назад
Да, пробел.Вот пример:
*** имя
*** вася
*** рокоа
*** иван
нужно переделать в такой формат:
"***","Иван"
и все это должно быть в CSV-файле.
сможете?
120 сообщений
#16 лет назад
Полчаса работы за отзыв под пивко во время отдыха. Если в течении 2-3-х часов свяжетесь сейчас - сделаю )Язык - PHP
1267 сообщений
#16 лет назад
2 варианта сразу в поле ввода пишу$out = array();
$data = file("in.txt");
foreach($data as $id_row => $row)
{
if(trim($row) == "") continue;
list($email, $name) = explode(" ", trim($row));
$name = ucwords($name);
$out = "\"{$email}\",\"{$name}\"';
}
file_put_contents("out.csv", implode("\n", $out));
но сам код нигде не проверял, написал что первое в голову пришло. Должно работать)) (ушло 3 минуты, идея - 2 сек)
626 сообщений
#16 лет назад
#!/usr/bin/perl
use strict;
my @list = <>;
open( OUT, ">out.csv" );
foreach my $str ( @list ) {
$str =~ /^(+)\s+(.+)$/;
print OUT "\"$1\",\"$2\"\n";
}
close OUT;
Как-то странно тэг code интерпретирует отступы в начале строки...
21 сообщение
#16 лет назад
2 ZionitТот код, что ты написал , я так понимаю, нужно вводить в MeSql?
У меня мейлы в файле .txt в формате как писал выше, поэтому ничего сделать не могу

если я что-то не понял, объясните плиз.
120 сообщений
#16 лет назад
2 businesse:я хоть не Zionit, но отвечу:
язык PHP, входной файл in.txt, выходной out.txt
127 сообщений
#16 лет назад
While ($row = $db->sql_fetchrow($result)) {
$file .= str_replace(' ',',',$row)."\r\n";
}
В $file полностью текст будет, а потом его запихуивай куда хоца!
Накатал прям тут!
120 сообщений
1267 сообщений
#16 лет назад
Цитата ("businesse"):2 Zionit
Тот код, что ты написал , я так понимаю, нужно вводить в MeSql?
У меня мейлы в файле .txt в формате как писал выше, поэтому ничего сделать не могу
если я что-то не понял, объясните плиз.
Нет, не в MySQL, а в PHP. Базу при этом переименовываете в in.txt и ложите в папку со скриптом. После выполнения появится файл out.csv в котором данные будут записаны в новом формате
71 сообщение
#16 лет назад
Мда... Ох уж эти виндузятники... ))$ cat dbfile
*** имя
*** вася
*** рокоа
*** иван
$ cat dbfile | awk '{printf "\"%s\", \"%s\"\n", $2, $1}'
"имя", "***"
"вася", "***"
"рокоа", "***"
"иван", "***"
$
P.S.
И как в той Винде можно жить без самых элементарных инструментов.
661 сообщение
#16 лет назад
VOICE, СОРРИ ЗА ДУБЛЯЖ ПОСТА НЕ ЗАМЕТИЛ 
Но суть остается сутью AWK в данной ситуации как нельзя к стати

Ну еще на awk:
awk '{ print "\""$1"\",\""$2"\"" }'
Пользовать типа так:
cat database.txt | awk '{ print "\""$1"\",\""$2"\"" }' >newbase.txt
Вот они инструменты UNIX и их сила

4607 сообщений
#16 лет назад
Ossadchy привет! А, что если у автора нет awk? Смысл предлагать? Прости, потешиться над неразумным, точно? И наверное он не поймет, что выходной файл получится как и входной обычным текстовичком. И это в козырь. Но досада. он не сказал какого формата входной файл, он сказал, что между запятая, а может это три поля некоей базы ... и нужно заменить значения среднего поля? А Вы с места в карьер.
Второй раз за сегодночь СОРРИ.