创建用于通过python访问多个excel表的超链接
Posted
技术标签:
【中文标题】创建用于通过python访问多个excel表的超链接【英文标题】:Create hyperlink for accessing Multiple excel sheets by python 【发布时间】:2018-06-17 09:47:43 【问题描述】:我有多个 txt 文件,我可以通过以下代码将它们合并并写入不同的 Excel 表格:
for file in list(file_lists):
filename = os.path.join(path, file)
df = pd.read_table(filename,sep="|",encoding = "ISO-8859-1")
df.to_excel(writer, sheet_name=file[:-4], index=False,header=True)
writer.save()
我现在想创建另一个工作表 (Name = "Homepage"),其中包含不同的工作表名称作为超链接。我应该能够单击该超链接,该超链接会将我带到相应的工作表。有什么办法可以做到吗?任何示例代码都会有所帮助,SO 中可用的类似代码对我没有帮助。
【问题讨论】:
【参考方案1】:这并不是一个真正的pandas
问题,因为pandas.to_excel
函数与Excel 表中使用的格式和标记几乎没有关系。
您可以查看xlsxwriter
,它专门格式化xlsx
文件。
这是格式化hyperlinks
的示例代码,改编自documentation,您可以阅读更多内容。
###############################################################################
#
# Example of how to use the XlsxWriter module to write hyperlinks
#
# Copyright 2013-2018, John McNamara, jmcnamara@cpan.org
#
import xlsxwriter
# Create a new workbook and add a worksheet
workbook = xlsxwriter.Workbook('hyperlink.xlsx')
worksheet = workbook.add_worksheet('Hyperlinks')
# Format the first column
worksheet.set_column('A:A', 30)
# Add a sample alternative link format.
red_format = workbook.add_format(
'font_color': 'red',
'bold': 1,
'underline': 1,
'font_size': 12,
)
# Write some hyperlinks
worksheet.write_url('A1', 'http://www.python.org/') # Implicit format.
worksheet.write_url('A3', 'http://www.python.org/', string='Python Home')
worksheet.write_url('A5', 'http://www.python.org/', tip='Click here')
worksheet.write_url('A7', 'http://www.python.org/', red_format)
worksheet.write_url('A9', 'mailto:jmcnamara@cpan.org', string='Mail me')
# Write a URL that isn't a hyperlink
worksheet.write_string('A11', 'http://www.python.org/')
workbook.close()
【讨论】:
以上是关于创建用于通过python访问多个excel表的超链接的主要内容,如果未能解决你的问题,请参考以下文章
从主文件创建多个Excel工作簿的最佳方法,文件必须使用带有多个工作表的现有模板
如何使用 C# 从 DataSet 创建包含多个工作表的 excel 文件