Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/22: Рейтинг темы: голосов - 22, средняя оценка - 4.86
6 / 6 / 0
Регистрация: 29.10.2010
Сообщений: 523
1

Вытащить из excel-евского файла все email адреса (в файле может быть несколько листов)

19.12.2014, 14:54. Показов 4487. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! подскажите, как
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.12.2014, 14:54
Ответы с готовыми решениями:

Найти все адреса email в файле
Здравствуйте, банальный вопрос у меня, нужно Html файл парсить и понаходить все эмейлы, да да да с...

Compact and Repair для Excel-евского файла?
как осуществить? возникла ситуация что он немерянно раздулся, раз в 10 (до 2 мегов) но информации...

Записать все встречающиеся несколько раз IP адреса в txt файле
Есть код на C, который записывает все, встречающиеся несколько раз, IP адреса в txt файле...

Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько
Удалить из массива все минимальные элементы. Считаем, что таких элементов может быть несколько. ...

11
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 476
19.12.2014, 14:58 2
Считываешь построчно, и в считанной строке находишь слова, у которых есть символ @
0
6 / 6 / 0
Регистрация: 29.10.2010
Сообщений: 523
19.12.2014, 15:53  [ТС] 3
а что считывать построчно?

Добавлено через 3 минуты
экселевский файл?
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 476
19.12.2014, 15:56 4
Открываешь excel-файл на чтение, txt-файл на запись.
Из первого читаешь строку, в ней ищеш слово в котором есть символ @ и это слово (т.е. e-mail) записываешь во второй файл.
Закрываешь оба файла.

Или нужен исходник, программа?
0
6 / 6 / 0
Регистрация: 29.10.2010
Сообщений: 523
19.12.2014, 16:06  [ТС] 5
а почему слова? вы уверены, что они обрамляются там внутри пробелами?
да нет, программу попробую написать сам, спасибо.
0
38 / 38 / 11
Регистрация: 27.09.2014
Сообщений: 476
19.12.2014, 16:23 6
Цитата Сообщение от Дмитрий :) Посмотреть сообщение
попробую написать сам
кстати, excel несколько форматов файла, какой хоть нужно обрабатывать?
Если что-то типа *.xsl или ему подобное, то там такие дебри.... плюс каждая версия вносит что-то свое...
Проще, если файл в текстовом виде (или перегнать в текстовый или *.csv), тогда делов на пять минут
0
6 / 6 / 0
Регистрация: 29.10.2010
Сообщений: 523
19.12.2014, 17:02  [ТС] 7
спасибо. хотя в текстовом виде можно сохранить только текущий лист. ну да ладно.
0
6 / 6 / 0
Регистрация: 29.10.2010
Сообщений: 523
22.12.2014, 11:40  [ТС] 8
вот что у меня получилось
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$dir="";
if(is_dir($dir)){
    $d=@opendir($d);
    $arr=array();
    while($f=@readdir($d)!==false){
        if($f=="." || $f==".."){continue;}
        $tmp=@file($f);
        foreach($tmp as $line){
            $arr1=array();
            preg_match_all("/[a-z0-9\-\_]+\@([a-z0-9\-\_]+[\.])+[a-z]{2,6}/i",$line,$arr1);
            $arr=array_merge($arr,$arr1);
        }
    }
    closedir($dir);
    print_r($arr);
}
но похоже неверено задано регулярное выражение для email. что-то никак не пойму, что там не так
0
451 / 417 / 115
Регистрация: 15.02.2012
Сообщений: 1,847
22.12.2014, 11:58 9
если у вас формат exel, то я бы пошел по такому пути:
- подключил бы PHPExcel
- данные каждого листа в массив
- в цикле элементы массива через strpos проверить на наличие знака @ (если известно в каком столбце может быть mail, то вообще прекрасно - не нужно все элементы прогонять, а только с определенным ключиком)
- ну и при нахождении символа - элемент массива содержащий его отправляем на запись в отдельный файл
0
6 / 6 / 0
Регистрация: 29.10.2010
Сообщений: 523
22.12.2014, 12:06  [ТС] 10
про phpexcel первый раз слышу
а что неправильно у меня? все листы excel-файла сохраненны в текстовом виде и лежат в одной папке
email-ы могут быть где угодно на листе.
подскажите, что не так в моём рег. выражении
0
451 / 417 / 115
Регистрация: 15.02.2012
Сообщений: 1,847
22.12.2014, 12:17 11
про phpexcel первый раз слышу
одна из самых распространенных библиотек для работы с форматами exel

я описал способ который для меня был бы легче, а с "регулярками" я не очень-то дружу(поэтому вам показал просто еще один способ решения вашей задачи) - когда нужны сам на форумах уточняю как исправить чтобы заработало)) кроме того в моем варианте не нужно вручную пересохранять каждый лист. и если mail лежит хотябы просто в отдельном столбце, а не в предложении, то я сразу получаю его. конечно если mail часть предложения то strpos будет бесполезен и нужно будет тоже использовать рег.выр.
0
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
22.12.2014, 13:33 12
Цитата Сообщение от Дмитрий :) Посмотреть сообщение
но похоже неверено задано регулярное выражение для email. что-то никак не пойму, что там не так
Как Вы это определили? Какой результат работы скрипта?
Цитата Сообщение от Дмитрий :) Посмотреть сообщение
@
Ну вот зачем Вы используете этот символ перед функциями????? Вы же вообще не отлавливаете сообщения об ошибках. Забудьте про него вообще, он не нужен Вам.
0
22.12.2014, 13:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.12.2014, 13:33
Помогаю со студенческими работами здесь

Копирование заданного файла на все компьютеры в сети, IP-адреса которых находятся в списке в текстовом файле
Доброго времени суток. Требовалось создать *.bat файл, который осуществит копирование файла по всем...

получить email адреса из файла
Здраствуйте, помогите получить email-адреса из файлов формата .txt и .csv например файл text.txt с...

Найти на страницах все email адреса
Здравствуйте. Для парсинга страниц я использую htmlagilitypack Как мне найти на страницах все...

Определите,может ли этот IP-адреса быть назначен узлом
Определите,может ли этот IP-адреса быть назначен узлом. Если нет то объясните, почему IP-адрес не...

Как связать несколько листов excel с использованием макросов
Здравствуйте,очень рассчитываю на вашу помощь. Я никак не могу найти нужную функцию или же написать...

Печать листов в файле Excel на разные лотки
Добрый день! Имеется следующая задачка: есть более 20 файлов excel с одинаковыми названиями...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru