import os
import pandas as pd
def generate_html(directory):
html = '<html><body>\n'
html += '<h1>Index of {0}</h1>\n'.format(directory)
html += '<ul>\n'
# 遍历目录下的文件和文件夹
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
# 如果是文件夹,则生成超链接并递归调用生成子文件夹的网页
if os.path.isdir(file_path):
html += '<li><a href="{0}/index.html">{1}</a></li>\n'.format(filename, filename)
generate_html(file_path)
# 如果是文件,并且扩展名为.xlsx,则生成超链接
elif os.path.isfile(file_path) and filename.endswith('.xlsx'):
excel_file = file_path
df = pd.read_excel(excel_file)
# 将DataFrame转换为HTML
html_table = df.to_html(index=False, classes="table table-striped")
# 将HTML保存到文件中(指向内容自己编辑)
html += '<li><a href="{0}">Excel File: {1}</a></li>\n'.format(filename , filename)
html += '</ul>\n'
html += '</body></html>'
# 将生成的HTML写入文件
index_html_path = os.path.join(directory, 'index.html')
with open(index_html_path, 'w') as f:
f.write(html)
def generate_folder_html(directory):
# 生成当前文件夹的HTML网页
generate_html(directory)
# 遍历当前文件夹下的子文件夹
for filename in os.listdir(directory):
file_path = os.path.join(directory, filename)
# 如果是子文件夹,则递归调用生成子文件夹的HTML网页
if os.path.isdir(file_path):
generate_folder_html(file_path)
# 指定目录
directory = 'C:\\Users\\95459\\PycharmProjects\\pythonProject\\calculate data'
# 生成HTML网页
generate_folder_html(directory)
运行结束后在指定路径中会生成html文件
效果图