Openpyxl returns delete_rows() 后超链接地址错误

Openpyxl returns wrong hyperlink address after delete_rows()

问题: 我有一个程序可以抓取 Twitter 并将 returns 结果保存在 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

在 运行 重复删除片段之后,超链接指向我认为是已删除条目的偏移量。以下是创建 Twitter 条目的代码:

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"

预期结果:应该能够删除重复的条目并保持超链接指向正确的地址。

无论出于何种原因,当我将代码更改为以下内容时,超链接都指向正确的地址:

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 sheet 中用作超链接,而使用 .hyperlink 插入时只需单击一次。

这么固定又不固定