Как я могу преобразовать xls в вики-текст при создании ссылок на адреса электронной почты?

У меня есть входной файл Excel, предоставленный мне третьей стороной. В этот список входят только имена, номера телефонов и адреса электронной почты. Я пытаюсь преобразовать файл из Excel в формат вики. Мой ход мыслей до сих пор использует «xlhtml», чтобы преобразовать его в текст. Затем я могу использовать pandoc -f html -t mediawiki emp2.txt -o emp3.txt для преобразования его в вики-разметку. Проблема в том, что pandoc не переводит HTML-таблицы, созданные на первом этапе.

В качестве альтернативы я могу использовать базовые sed, grep, awk и т. д., чтобы удалить html-теги, которые всегда будут одинаковыми, что упрощает мою работу, но тогда у меня возникает проблема с использованием адресов электронной почты [email protected] в виде обычного текста и превращением их в [mailto:[email protected]], что я тоже не знаю, как это сделать. Я не знаю, какой маршрут лучше выбрать. Это не портативное решение, поэтому я могу использовать python, perl, php, bash или любые другие утилиты на основе CLI.

Альтернативный маршрут может состоять в том, чтобы сначала экспортировать документ Excel в csv, а затем манипулировать им.

Примечание: при использовании xlhtml, которое может помочь, адреса электронной почты форматируются как ссылки в Excel, поэтому xlhtml выводит их с использованием ссылок <a href=, которые я хочу преобразовать в [mailto:[email protected]]


person UtahJarhead    schedule 25.02.2011    source источник


Ответы (1)


Итак, вы получаете <a href="[email protected]"> и хотите, чтобы это было [mailto:[email protected]]?

Поскольку все остальное — это имена и номера телефонов, почему бы вам просто не использовать любую программу редактирования текста и не выполнить простой поиск и замену <a href=" на [mailto: и "> на ]

person Adrian Archer    schedule 28.02.2011
comment
Это потенциально осуществимо, но все адреса имеют формат: ‹a href=mailto:[email protected][email protected]‹/a› Это означает, что мне все равно придется использовать регулярное выражение или что-то еще, чтобы удалить обманный адрес. - person UtahJarhead; 01.03.2011
comment
да, но поскольку вам нужно заменить адрес электронной почты, довольно легко получить регулярное выражение, которое будет работать. См. здесь: regular-expressions.info/email.html - person Adrian Archer; 01.03.2011
comment
Собираетесь ли вы сделать это один раз или миллион раз, я думаю, главный вопрос. - person Adrian Archer; 01.03.2011
comment
Я буду запускать его раз в неделю или около того. Я думаю, что я просто собираюсь написать программу на C вокруг этого. - person UtahJarhead; 18.03.2011