pandas实现excel转为html格式并设置css样式
一、概述
需求:使用pandas读取excel,并生成html文件
二、演示
import pandas as pd import codecs xd = pd.ExcelFile('456.xlsx') df = xd.parse() with codecs.open('1.html','w','utf-8') as html_file: html_file.write(df.to_html(header = True,index = False))
执行程序,使用浏览器打开1.html,效果如下:
默认样式,可能不太好看,可以自定义css
新建文件df_style.css,内容如下:
/* includes alternating gray and white with on-hover color */ .mystyle { font-size: 11pt; font-family: Arial; border-collapse: collapse; border: 1px solid silver; } .mystyle td, th { padding: 5px; } .mystyle tr:nth-child(even) { background: #E0E0E0; } .mystyle tr:hover { background: silver; cursor: pointer; }
应用css文件
import pandas as pd import codecs pd.set_option('display.width', 1000) pd.set_option('colheader_justify', 'center') xd = pd.ExcelFile('456.xlsx') df = xd.parse() # with codecs.open('1.html','w','utf-8') as html_file: # html_file.write(df.to_html(header = True,index = False)) pd.set_option('colheader_justify', 'center') # FOR TABLE <th> html_string = ''' <html> <head><title>HTML Pandas Dataframe with CSS</title></head> <link rel="stylesheet" type="text/css" href="df_style.css"/> <body> {table} </body> </html>. ''' # OUTPUT AN HTML FILE with open('myhtml.html',encoding='utf-8',mode='w') as f: f.write(html_string.format(table=df.to_html(classes='mystyle')))
执行程序,使用浏览器打开myhtml.html,效果如下:
上面只是读取了一个sheet,如果要读取多个sheet呢?
修改一下代码
import os import pandas as pd import codecs pd.set_option('display.width', 1000) pd.set_option('colheader_justify', 'center') excel_file = '456.xlsx' xd = pd.ExcelFile(excel_file) # 遍历每一个sheet for i in xd.sheet_names: # print(i,type(i)) # 读取指定sheet df = xd.parse(sheet_name=i) pd.set_option('colheader_justify', 'center') # FOR TABLE <th> html_string = ''' <html> <head><title>HTML Pandas Dataframe with CSS</title></head> <link rel="stylesheet" type="text/css" href="df_style.css"/> <body> {table} </body> </html>. ''' # OUTPUT AN HTML FILE # 创建excel文件夹,用来存放sheet文件 sheet_dir = excel_file.split('.')[0] # print("sheet_dir",sheet_dir) if not os.path.exists(sheet_dir): os.mkdir(sheet_dir) # 写入sheet文件 sheet_file = os.path.join(sheet_dir, i + '.html') with open(sheet_file,encoding='utf-8',mode='w') as f: f.write(html_string.format(table=df.to_html(classes='mystyle')))
执行代码,它会创建和excel文件同名的目录,进入目录,会有3个html文件
打开Sheet1.html,效果同上!
本文参考链接:
https://blog.csdn.net/wangxingfan316/article/details/79609711
https://blog.csdn.net/qq_38316655/article/details/104663077
分类:
python 运维开发
标签:
Pandas
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2019-12-09 使用SonarQube和SonarQube Scanner分析项目
2018-12-09 kafka集群搭建