使用Python从Excel(.xlsx)提取超链接
我一直在寻找用于Excel文件操作的xlrd和openpyxl库。但是,xlrd当前不支持formatting_info=True
.xlsx文件,因此我无法使用xlrdhyperlink_map
函数。因此我转向openpyxl,但也没有运气从它中的excel文件中提取超链接。下面的测试代码(测试文件包含指向google的简单超链接,并将超链接文本设置为“测试”):
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)文件中提取超链接信息吗?
-
以我的经验,要获得良好的.xlsx交互,需要转向IronPython。这使您可以使用公共语言运行时(clr)并直接与excel’进行交互
import clr clr.AddReference("Microsoft.Office.Interop.Excel") import Microsoft.Office.Interop.Excel as Excel excel = Excel.ApplicationClass() wb = excel.Workbooks.Open('testFile.xlsx') ws = wb.Worksheets['Sheet1'] address = ws.Cells(row, col).Hyperlinks.Item(1).Address