Openpyxl возвращает неверный адрес гиперссылки после delete_rows () - PullRequest
1 голос
/ 17 октября 2019

Проблема: У меня есть программа, которая очищает Twitter и возвращает результаты в файле Excel. Частью каждой записи является столбец, содержащий гиперссылку на твит и изображение, включенное в твит, если это применимо. Записи и гиперссылки работают нормально, за исключением случаев, когда я запускаю следующий код для удаления повторяющихся записей:

    #Remove duplicate posts.
    values = []
    i = 2
    while i <= sheet.max_row:
        if sheet.cell(row=i,column=3).value in values:
            sheet.delete_rows(i,1)
        else:
            values.append(sheet.cell(row=i,column=3).value)
            i+=1

После запуска фрагмента удаления дубликатов гиперссылки указывают на то, что, как я предполагаю, является смещением удаленных записей. Вот код для создания записи в Твиттере:

sheet.cell(row=row, column=8).hyperlink = "https://twitter.com/"+str(tweet.user.screen_name)+"/status/"+str(tweet.id)
sheet.cell(row=row, column=8).style = "Hyperlink"

Ожидаемые результаты: Должен иметь возможность удалять повторяющиеся записи и сохранять гиперссылку, указывающую на правильный адрес.

1 Ответ

0 голосов
/ 19 октября 2019

Гиперссылки указывают на правильные адреса по любой причине, когда я изменяю код на этот:

sheet.cell(row=row, column=8).value = "https://twitter.com/"+str(tweet.user.screen_name)+"/status/"+str(tweet.id)
sheet.cell(row=row, column=8).style = "Hyperlink"

Требуется быстрый двойной щелчок, чтобы работать как гиперссылка на листе Excel, а не один щелчок, когдавставка с использованием .hyperlink.

Так исправлено, но не исправлено.

...