Форум сайта python.su
3
Всем добра…
Имеется файл excel в котором например два поля и имеют вид: text1 и text2. НО, это гипперссылки. Если встать в строку формул, то имеют вид =HYPERLINK("http://xxxxxxxxxx?/id=1“;”text1“) и HYPERLINK(”http://xxxxxxxxxx?/id=2“;”text2") соответственно. Задача. Нужно считать в первом случае для поля text1, само значение text1, а во втором случае url, те http://xxxxxxxxxx?/id=1.
Надеюсь понятно описал.
первое что пришло в голову так это xlrd, но оказалось он просто не видит этих полей и выдергивает значение 0,0. В общем что бы не тыкаться, подскажите в какую сторону идти…может PyUNO?
Отредактировано zahar (Ноя. 20, 2014 17:11:25)
Офлайн
253
:) Я бы пошел в сторону полного отказа от exel. Экспортируете в текст и пользуетесь. Да потеряете часть разметки. Но не думаю что будет критично.
Тексты можете грузить при помощи pandas. Фильтры в питоне пишутся на раз-два. Графики отлично строятся в matplotlib ну и т.д.
Офлайн
36
Как-то так, но не проверял :(
import xlrd book = xlrd.open_workbook("...", formatting_info=True) sheet = book.sheet_by_index(0) for i in range(1, sheet.nrows): row = sheet.row_values(i, start_colx=0, end_colx=1) text = row[0] link = sheet.hyperlink_map.get((i, 1)) url = '(No URL)' if link is None else link.url_or_path print(text, url)
Офлайн
3
видел аналогичный пример на stackoverflow, но ссылку не выдергивает…No URL
Офлайн
36
zaharДействительно, если ссылка - это формула, то ничего не получится. Excel, к стати, тоже не распознает такую формулу как гиперссылку.
но ссылку не выдергивает
Офлайн