【发布时间】:2019-08-16 14:09:05
【问题描述】:
我已使用 df.to_excel 将 pandas DataFrame 转换为 Excel 工作表。
现在,我想为一列中的值添加超链接。换句话说,当客户看到我的 excel 表格时,他将能够单击一个单元格并在 excel 文档上调出另一个表格(我不想调出网站!!)
【问题讨论】:
我已使用 df.to_excel 将 pandas DataFrame 转换为 Excel 工作表。
现在,我想为一列中的值添加超链接。换句话说,当客户看到我的 excel 表格时,他将能够单击一个单元格并在 excel 文档上调出另一个表格(我不想调出网站!!)
【问题讨论】:
下面提供的完全可重现的示例演示了如何创建工作簿,您可以在其中单击特定单元格并在同一个 Excel 文档中调出另一个工作表。
在本例中,我们使用Xlswriter 作为pandas.DataFrame.to_excel() 中的engine= 参数。这样做是为了利用 Xlsxwriter 库的工作表类中的一些方法,包括 worksheet.write_url()(link to docs)。
import pandas as pd
import numpy as np
# Creating a dataframe
df = pd.DataFrame(np.random.randn(10, 2), columns=list('AB'))
writer = pd.ExcelWriter("test.xlsx", engine='xlsxwriter')
df.to_excel(writer, index=False, sheet_name='data')
workbook = writer.book
worksheet = workbook.add_worksheet('sheetWithLink')
worksheet.write_url('A1', 'internal:data!A1')
worksheet.write('A1', "A link to another sheet")
writer.save()
预期输出:
【讨论】: