标签中,一般包含网页中除头部和底部之外的其他内容。6 浏览器审查HTML标签元素
浏览器页面按F12打开
左边显示为HTML,右边显示为CSS(后面会学到)
7 表格标题标签
表格的标题:caption
caption元素定义表格标题。
caption标签必须紧随table标签之后。只能对每个表格定义一个标题。通常这个标题会被居中于表格之上。
8 合并单元格
跨行合并:rowspan
跨列合并:colspan
“2”表示合并两个单元格,数值是多少就合并多少个单元格。
看不懂的小伙伴不要气馁,后续的分享中将持续解释,只要你跟着我分享的课程从头到尾去学习,每篇文章看三遍,一个月后,回过头来看之前的文章就会感觉简单极了。
本章已结束,下篇文章将分享《08 表单和表单控件》小伙伴们不要错过哟!上述内容是作者本人的学习笔记,需要原视频学习资料可以在公众号回复关键词“前端资料”
述可帮助您找到构建可处理大量数据的Web应用程序的正确解决方案。
在本文中,我将基于其功能和许可策略简要概述五个流行的独立JavaScript电子表格库。这些图书馆可以免费在非营利项目中实施,也可以提供商业用途的付费许可。我希望此概述可以帮助您找到构建旨在处理大量数据的Web应用程序的正确解决方案。
Handsontable
Handsontable据说是一个带有电子表格外观的JavaScript网格。它是一个纯JavaScript库,支持React,Vue.js和Angular。其基本功能列表包括折叠列,调整大小,移动和隐藏列和行,添加注释,显示列摘要,导出数据,应用条件格式,使用数据验证和添加下拉菜单的功能。也可以对数据进行排序和过滤并使用自动填充。
更有趣的是高级功能列表。例如,开发人员可以选择在触发表呈现时应使用哪个渲染器。此外,还可以创建自定义插件,使用自定义按钮,并在单元格之间定义自定义边框。此外,还有诸如多列排序,嵌套标题,修剪行 等功能。
Handsontable提供 三种类型的许可证:非商业免费许可证,开发人员(每个开发人员790美元),企业(自定义价格)许可证。
我的结论:Handsontable是非商业项目和那些准备为丰富功能付费的人的一个很好的选择。
AG-网格
ag-Grid是一个JavaScript网格/电子表格组件,可以与Angular,Angular JS 1.x,React,Vue.js,Polymer和Web Components轻松集成,没有第三方依赖。这个100,000行的演示判断它的快速性能和数十 行。
分组和聚合功能允许用户以他们想要的方式处理数据。可以按特定列对数据进行分组,并且可以在分组行中显示各种聚合列值。ag-Grid提供快速过滤功能和自定义过滤器。延迟加载允许在用户滚动时显示所需的行数并请求其他数据,这有助于节省服务器资源。ag-Grid支持实时更新,每秒可处理数百个更新。您可以阅读有关这些功能和其他功能的更多信息,并在功能概述页面上查看一些演示 。
该库有 两个版本:社区和企业。社区版本由MIT许可证涵盖,仅包括基本功能。具有所有可用功能的Enterprise许可证有三个选项:Single Application Developer(每个开发人员750美元),Multiple Application Developer(每个开发人员1,200美元)和部署许可证(每个生产环境750美元)。
我的结论是:ag-Grid提供了许多有用的功能,并且可以与不同的JS框架进行简单的集成。对于大预算项目来说,这似乎是一个不错的选择,因为许可非常灵活而且价格昂贵。
dhtmlxSpreadsheet
dhtmlxSpreadsheet是一个可自定义的JavaScript电子表格组件,具有Material skin和类似Excel的界面。它为三个流行的框架提供了包装器:React,Vue.js和Angular。
您可以根据其用户指南自定义此电子表格的几乎每个元素- 例如,使用工具栏,菜单和上下文菜单控件的自定义图标字体包而不是Material-design控件。单元格格式功能允许您更改文本颜色和装饰,背景颜色,设置文本对齐,将不同的数字格式应用于单元格值(百分比,货币甚至自定义格式),调整列大小等。
还可以锁定单元格,通过在单元格中键入数据来自动填充包含内容的单元格,并拖动填充句柄以延长其他单元格中的一系列数字或字母。dhtmlxSpreadsheet提供了相当多的导航热键列表。此外,该库提供了从Excel文件导入和导出数据的机会。为此,dhtmlxSpreadsheet开发人员已经实现了他们自己的开源库Excel2Json和Json2Excel。
dhtmlxSpreadsheet提供四个主要许可证:免费GNU GPL v2,商业许可证(最多5个开发人员149美元),企业许可证(最多20个开发人员团队449美元),终极许可证(无限数量的开发人员669美元)。
我的判断:dhtmlxSpreadsheet提供了一组基本功能和对流行框架的支持,可以被认为是物有所值的。
Clusterize.js
开发人员将Clusterize.js描述 为一个很小的插件,可以轻松显示大型数据集。它的权重仅为2.3KB gzipped,但遗憾的是它没有提供任何高级功能。其主要目的是使具有大量行的表在网页上平滑运行。Clusterize.js不是用所有使用的标签“污染”DOM,而是将列表拆分为簇,然后显示当前滚动位置的元素,并在列表的顶部和底部添加额外的行以模拟表的完整高度,以便浏览器显示完整列表的滚动条。此库适用于现代浏览器,并支持所有主要的移动设备。
好消息是Clusterize.js非常实惠。在 可用的许可证中,您可以找到个人许可证(个人项目免费),商业许可证(25美元用于商业用途和无限数量的项目),以及扩展许可证(110美元;可以包含在待售产品中)。
我的结论是:Clusterize.js是那些寻找能够快速运行并节省一些钱的单一用途工具的人的绝佳选择。
SlickGrid
SlickGrid是一个简洁而简约的JavaScript电子表格组件。自适应虚拟滚动允许处理数十万行而没有任何延迟。该库支持jQuery UI主题并支持广泛的自定义。用户可以调整列的大小,重新排序,显示或隐藏,使用分组,过滤,自定义聚合器和其他功能。可插入单元格格式器和编辑器允许您扩展Web应用程序的功能。
如您所见,SlickGrid提供了一组基本功能,可以满足普通用户的需求。不幸的是,根据项目的 GitHub页面,这个库最近没有受到开发人员的太多关注。好消息是SlickGrid是免费提供的。
我的判断:如果你不是在寻找丰富的功能或者买不起商业许可证,那么SlickGrid可能是个不错的选择。
数据分析中,将数据以表格的形式呈现出来是必不可少的环节,Pandas 是一个非常强大的数据分析库,提供了很多方便的方法来处理和展示数据。今天,我们将学习如何使用 Pandas 自定义表格样式并将其导出为 HTML 格式。
通过这种方式,我们可以更好地组织和展示数据,并在网页上共享我们的分析结果,并且,掌握Pandas数据存储和表格样式自定义的方式,在日常工作过程中有更多应用和实践意义,将拓展我们的数据分析思路。
导入数据
首先,导入pandas库,并为其设置别名pd,使用pandas的read_excel函数读取指定路径下的Excel文件,并将其内容存储在DataFrame对象df中。
import pandas as pd
df = pd.read_excel(r'C:\Users\shangtianqiang\Desktop\2023年胡润百富榜.xlsx')
#默认显示DataFrame的前五行。
df.head()
df.info()显示DataFrame的简要信息,包括索引、列名、数据类型和每列的非空值数量,这里显示该数据表含有1241行数据。
#数据预览
df.info()
使用iloc方法筛选DataFrame的前100行数据。
df=df.iloc[:100,:]#筛选前100行数据
df
自定义样式
定义一个样式对象style,该对象用于生成HTML的样式,这里对筛选出来的前100行的数据进行了样式设置,它定义了一个居中的标题(h1标签),一个表格(table标签),以及表格中的表头(th标签)和单元格(td标签)。
- h1 标签:文本居中,字体大小为24像素,下边距为10像素;
- table 标签:边框合并(border-collapse: collapse;),宽度为100%;
- th, td 标签:边框为1像素的实线,内边距为8像素,文本居中;
- th 标签:背景颜色为浅灰色(#f2f2f2)。
# 定义CSS样式,添加标题“2023年胡润百富榜”
style = """
<style>
h1 {
text-align: center;
font-size: 24px;
margin-bottom: 10px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<head><title>2023年胡润百富榜</title></head>
<h1>2023年胡润百富榜</h1>
"""
将DataFrame转换为HTML代码,并添加样式,index=False来去除行索引 。
# 将DataFrame转换为HTML代码,并添加样式
html = style + df.to_html(index=False) # 使用index=False来避免显示行索引
将生成的HTML内容写入到名为'2023年胡润百富榜.html'的文件中。
# 将HTML代码写入文件或打印到控制台
with open('2023年胡润百富榜.html', 'w') as file:
file.write(html) # 将HTML代码写入文件output.html
完整版的代码如下所示。
import pandas as pd
df = pd.read_excel(r'C:\Users\shangtianqiang\Desktop\2023年胡润百富榜.xlsx')
df=df.iloc[:100,:]#筛选前100行数据
# 定义CSS样式,添加标题“2023年胡润百富榜”
style = """
<style>
h1 {
text-align: center;
font-size: 24px;
margin-bottom: 10px;
}
table {
border-collapse: collapse;
width: 100%;
}
th, td {
border: 1px solid black;
padding: 8px;
text-align: center;
}
th {
background-color: #f2f2f2;
}
</style>
<head><title>2023年胡润百富榜</title></head>
<h1>2023年胡润百富榜</h1>
"""
# 将DataFrame转换为HTML代码,并添加样式
html = style + df.to_html(index=False) # 使用index=False来避免显示行索引
# 将HTML代码写入文件或打印到控制台
with open('2023年胡润百富榜.html', 'w') as file:
file.write(html) # 将HTML代码写入文件output.html
导出的HTML表格样式如下所示,整体图表风格较为简洁。
导入数据
html的格式数据也是数据存储的一种方式,使用read_html命令可以将其很便捷地导入,从而进行接下来的数据分析。
import pandas as pd
df_html=pd.read_html('2023年胡润百富榜.html',encoding='gbk')[0]
df_html
通过学习如何使用 Pandas 自定义表格样式并将其导出为 HTML 格式,我们掌握了更丰富的数据处理和展示技巧,并且,还可以根据实际业务需求来自定义表格样式,实现与他人共享数据的目的。