(3) 将CSV格式(注意:为了简化设计,有标题栏时,请先删除首行的标题栏)的Python实验课班内序号文件使用HTML进行展示,展示时输出和自己班内序号邻近的10个学生信息。 参考程序: #csv2html.py seg1 = ''' <!DOCTYPE HTML>\n<html>\n<body>\n<meta charset="utf-8"> <h2 align=center>2016年7月部分大中城市新建住宅价格指数</h2> <table border='1' align="center" width=70%> <tr bgcolor='orange'>\n''' seg2 = "</tr>\n" seg3 = "</table>\n</body>\n</html>" def fill_data(locls): seg = '<tr><td align="center">{}</td><td align="center">{}</td><td align="center">{}</td><td align="center">{}</td></tr>\n'.format(*locls) return seg fr = open("price2016.csv", "r") ls = [] for line in fr: line = line.replace("\n","") ls.append(line.split(",")) fr.close() fw = open("price2016.html", "w", encoding="utf-8") fw.write(seg1) fw.write('<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n'.format(*ls[0])) fw.write(seg2) for i in range(len(ls)-1): fw.write(fill_data(ls[i+1])) fw.write(seg3) fw.close()
时间: 2023-06-25 19:04:26 浏览: 144
可以使用pandas库将CSV文件读入DataFrame中,然后使用HTML表格展示,并且使用iloc方法获取指定行的数据。以下是参考程序:
```python
import pandas as pd
# 读取CSV文件
df = pd.read_csv('students.csv')
# 获取自己班内序号
my_num = 1 # 假设我的班内序号为1
start_index = max(0, my_num - 10) # 获取起始行索引
end_index = min(len(df), my_num + 10) # 获取结束行索引
# 获取邻近的10个学生信息
nearby_students = df.iloc[start_index:end_index]
# 将邻近的10个学生信息转换成HTML表格
html = nearby_students.to_html(index=False)
# 将HTML表格写入文件
with open('students.html', 'w') as f:
f.write(html)
```
其中,students.csv为输入的CSV文件,students.html为输出的HTML文件。可以根据实际情况修改自己的班内序号和文件名。
相关问题
参考程序: #csv2html.py seg1 = ''' <!DOCTYPE HTML>\n<html>\n<body>\n<meta charset="utf-8"> <h2 align=center>2016年7月部分大中城市新建住宅价格指数</h2> <table border='1' align="center" width=70%> <tr bgcolor='orange'>\n''' seg2 = "</tr>\n" seg3 = "</table>\n</body>\n</html>" def fill_data(locls): seg = '<tr><td align="center">{}</td><td align="center">{}</td><td align="center">{}</td><td align="center">{}</td></tr>\n'.format(*locls) return seg fr = open("price2016.csv", "r") ls = [] for line in fr: line = line.replace("\n","") ls.append(line.split(",")) fr.close() fw = open("price2016.html", "w", encoding="utf-8") fw.write(seg1) fw.write('<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n<th width="25%">{}</th>\n'.format(*ls[0])) fw.write(seg2) for i in range(len(ls)-1): fw.write(fill_data(ls[i+1])) fw.write(seg3) fw.close()将CSV格式(注意:为了简化设计,有标题栏时,请先删除首行的标题栏)的Python实验课班内序号文件使用HTML进行展示,展示时输出和自己班内序号邻近的10个学生信息。
很好,这是一个将 CSV 格式转换为 HTML 格式的程序,并展示班内序号邻近的 10 个学生信息的程序。我可以帮你解释一下代码的逻辑。
首先,定义了三个字符串变量 `seg1`、`seg2` 和 `seg3`,分别对应 HTML 文件的头部、表格头部和尾部。在 `seg1` 中,使用了 HTML 的 `<h2>` 和 `<table>` 标签,用于显示页面标题和表格。`seg2` 中使用了 `<tr>` 标签,表示表格中的一行,其中 `bgcolor` 属性设置为橙色。`seg3` 中则是 HTML 文件的结尾标签。
然后,定义了一个 `fill_data` 函数,该函数接受一个列表作为参数,返回一个 HTML 表格行的字符串。在函数内部,使用 `format` 方法将列表中的数据填充到 HTML 表格行模板中,并返回填充后的字符串。
接下来,打开 CSV 文件,将文件内容读入到 `ls` 列表中。在 `ls` 列表中,每个元素都是一个包含学生信息的列表。然后,使用 `open` 函数创建一个 HTML 文件,并写入 `seg1`。在 `seg1` 后面,使用 `format` 方法将 `ls` 列表中的第一行作为表格的表头,并写入 `seg2`。
接着,使用 `range` 函数遍历 `ls` 列表中的数据行。对于每一行数据,调用 `fill_data` 函数将其转换为 HTML 表格的一行,并写入到 HTML 文件中。
最后,写入 `seg3`,完成 HTML 文件的编写。
如果你想展示班内序号邻近的 10 个学生信息,可以在遍历 `ls` 列表时,判断该行数据的序号是否与目标序号相邻近,如果是,则将该行及其前后各 4 行的数据转换成 HTML 表格行,并写入到 HTML 文件中。
阅读全文
相关推荐











