我一直在寻找主要用于Excel文件操作的xlrd和openpyxl库。但是,xlrd目前不支持.xlsx文件的formatting_info=True
,所以我不能使用xlrd hyperlink_map
函数。所以我转向了openpyxl,但也没有运气从excel文件中提取超链接。下面的测试代码(测试文件包含一个简单的超链接设置为“测试”超链接文本谷歌):使用Python从Excel中提取超链接(.xlsx)
import openpyxl
wb = openpyxl.load_workbook('testFile.xlsx')
ws = wb.get_sheet_by_name('Sheet1')
r = 0
c = 0
print ws.cell(row = r, column = c). value
print ws.cell(row = r, column = c). hyperlink
print ws.cell(row = r, column = c). hyperlink_rel_id
输出:
test
None
我猜openpyxl目前不支持的格式完全要么?有没有其他库可以用来从Excel(.xlsx)文件中提取超链接信息?
Openpyxl对格式的支持是现在相当完整。超链接得不到很好支持的原因是历史,也是它们在Excel 2010规范中的实施方式,它有很多间接性。 –
下面是一些使用超链接对OpenPyXl进行限制的更多实验。 http://stackoverflow.com/questions/34964255/openpyxl-always-return-none-for-a-cell-with-hyperlink/34964292#34964292 – smwikipedia