Как извлечь гиперссылки на столбец в Excel с помощью python - PullRequest
0 голосов
/ 27 мая 2020

Я знаю, что есть вопросы, похожие на этот, но я не могу заставить их работать. Итак, скажем, у меня есть 5 столбцов в файле Excel, четвертый - это, скажем, текст типа «Информация о продукте», внутри которого есть гиперссылка, и мне нужно с python и предпочтительно с openpyxl или pandas, чтобы извлечь гиперссылкой на следующий свободный столбец в этом случае будет 6-й столбец.

Итак, чтобы подвести итог, скажем: я спрашиваю пользователя, что такое столбец со ссылками (в данном случае гиперссылки), которые пользователь говорит например, «N», я хочу взять эти гиперссылки и поместить их в столбец «M» в обычной ссылке, чтобы другая моя часть программы могла открыть ссылку правильным образом.

Прямо сейчас я Я читаю данные из Excel следующим образом: (и для контекста __coluna_ref_aux и __coluna_links_aux имеют позицию столбца, который нужно прочитать, и эта часть работает нормально, если я скажу 'N', это будет 13-й столбец, и он читает данные есть)

    def get_data(self):
        try: #pandas -> usado para obter os dados da folha excel
            ficheiro = pd.read_excel(EXfile.duplicado) #ler o ficheiro excel
            all_num_artigo = ficheiro.iloc[:, EXfile.__coluna_ref_aux].tolist() #ler as colunas
            all_links = ficheiro.iloc[:, EXfile.__coluna_links_aux].tolist() #ler as colunas            
            x = 0
            for i in range(len(all_num_artigo)): #percorrer o array com todos os links / #str(all_num_artigo[i]).isdigit() and -> Usar se se quiser que a referencia seja só numeros
                if str(all_links[i]) != "0" and str(all_links[i]) != "nan" and str(all_links[i]) != "": #validar se a referencia é só numeros
                    EXfile.links.append(all_links[i]) #inserir valores para o array
                    EXfile.num_artigo.append(all_num_artigo[i]) #inserir valores para o array
                    x += 1
            if len(EXfile.links) > 0 and len(EXfile.num_artigo) > 0:
                return x
            else:
                return -1
        except Exception as ex:
            print("Algo correu mal\n{0}".format(ex))
            pass

Возможно ли? Способы, которые я пробовал, не сработали, но, возможно, я делал что-то не так.

Заранее спасибо

...