代码之家  ›  专栏  ›  技术社区  ›  anky

通过python创建访问多个excel工作表的超链接

  •  1
  • anky  · 技术社区  · 6 年前

    我有多个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”),它将包含不同的工作表名称作为超链接。我应该可以点击这个超链接,这将带我到各自的工作表。我有办法吗?任何示例代码都会有帮助,中提供的类似代码对我没有帮助。

    1 回复  |  直到 6 年前
        1
  •  1
  •   iDrwish    6 年前

    这不是真的 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()