目录

一、实战场景

二、知识点

python 基础语法

python 文件读写

python 分页

pandas 数据处理

flask web 框架

jinja 模版

三、菜鸟实战

初始化 Flask 框架,设置路由

jinja 模版 渲染列表数据

分页请求数据

显示详情页数据示例

运行结果

运行截图

列表页数据示例

详情页数据示例


一、实战场景

python 如何使用 pandas 在 flask web 网页中分页显示 csv 文件数据

二、知识点

python 基础语法

python 文件读写

python 分页

pandas 数据处理

flask web 框架

jinja 模版

三、菜鸟实战

初始化 Flask 框架,设置路由

'''
Description: 分页读取并显示 csv 文件数据
'''
from math import ceil
import csvfrom flask import Flask, render_template, request, redirect
from spiders.file_manager import FileManager# 初始化框架
web = Flask(__name__)@web.route('/')
def index():# 首页return redirect('/table/1')@web.route('/table/<int:page_num>')
def table(page_num):# 分页读取并显示 csv 文件数据file_manager = FileManager()file = file_manager.get_data_file_path("tao365_detail.csv")# 若不指定limits默认为 5limits = request.args.get('limits', 5, type=int)def show_csv(reader, page=page_num, limits=limits):# 内部函数,根据limits和所在页数生成数据df = []for row in reader:if page_num * limits >= (reader.line_num - 1) > (page_num - 1) * limits:df.append(row)return dfwith open(file, 'r+', encoding='utf-8') as f:# 计算页面数row_length = len(f.readlines()) - 1pages = int(ceil(row_length / limits))with open(file, 'r+', encoding='utf-8') as f:# 计算数据reader = csv.reader(f)next(reader)df = show_csv(reader, page_num, limits)# 加载模版和模版数据return render_template('table.html', df=df, pages=pages, page_num=page_num, limits=limits)@web.route('/table_detail')
def table_detail():# 二手房详情row = request.args.get('row').split(',')return render_template('table_detail.html', row=row)# 启动 flask web 框架
web.run(debug=True)

jinja 模版 渲染列表数据

<section id="team" class="header"><div class="container"><div class="section-title"><h2> pandas 在网页中分页显示 csv 文件</h2><p>使用 Python、pandas、bootstrap、flask 框架等技术实现</p></div><!-- ======= 预览板块 ======= --><section class="counts section-bg"><div class="container"><div class="row"><div class="col"><!-- ======= 使用表格循环展示数据 ======= --><table class="table table-striped table-hover" style=""><tbody><tr><th>标题</th><th>价格</th><th>每平方价格</th><!-- <th>小区</th> --><!-- <th>地址</th> --><th>房屋户型</th><th>建筑面积</th><th>所在楼层</th><th>房屋朝向</th><th>建筑年代</th><th>详情</th></tr>{% for row in df %}<!-- <li>{{row}}</li> --><tr class="alt">{% for subrow in row %} {% if loop.index != 5 and loop.index != 4 %}<td>{{subrow}}</td>{% endif %} {% endfor %}<td><a class="link-table" data-row="{{row}}" href="/table_detail">点击查看</a> </td></tr>{% endfor %}</tbody></table></div></div><div id="demo" style="display: flex;justify-content: center;"></div></div></section><!-- End Counts Section --></div>
</section>

分页请求数据

$(document).ready(function() {$('.link-table').each(function() {var row = $(this).attr('data-row')var row1 = eval('(' + row + ')').join(',')$(this).attr('href', '/table_detail?row=' + row1)})layui.use(['laypage', 'layer'], function() {var laypage = layui.laypage,layer = layui.layer;laypage.render({elem: 'demo',count: "{{pages}}",curr: "{{ page_num }}",theme: '#587187',// limit: pageSize //一页数据jump: function(obj, first) {console.log(obj.curr, first)if (!first) {window.location.href = "/table/" + obj.curr; //跳转链接}}});});
})

显示详情页数据示例

<section id="team" class="header"><div class="container"><div class="section-title"><h2>pandas 在网页中分页显示 csv 文件 - 详情页数据示例</h2><p>使用 Python、pandas、bootstrap、flask 框架等技术实现</p></div><!-- ======= 预览板块 ======= --><section class="counts section-bg"><div class="container"><div class="detail__mainCotetnL fl"><table class="table table-striped table-hover" style=""><tbody><tr><td>标题</td><td colspan="3">{{row[0]}}</td></tr><tr><td>价格</td><td>{{row[1]}}</td><td>每平方价格</td><td>{{row[2]}}</td></tr><tr><td>房屋户型</td><td>{{row[5]}}</td><td>建筑面积</td><td>{{row[6]}}</td></tr><tr><td>所在楼层</td><td>{{row[7]}}</td><td>房屋朝向</td><td>{{row[8]}}</td></tr><tr><td>建筑年代</td><td>{{row[9]}}</td><td></td><td></td></tr></tbody></table></div></div></section><!-- End Counts Section --></div>
</section>

运行结果

运行截图

* Serving Flask app 'app_tao04'

* Debug mode: on

* Running on http://127.0.0.1:5000

浏览器中打开 http://127.0.0.1:5000

列表页数据示例

详情页数据示例

资源链接

https://download.csdn.net/download/qq_39816613/87374650

菜鸟实战,持续学习!

python 如何使用 pandas 在 flask web 网页中分页显示 csv 文件数据相关推荐

  1. python requests 动态加载_Python获取网页中动态加载的数据

    Python获取网页中动态加载的数据 0.XHR 是什么? XHR是 XMLHttpRequest 对象.既Ajax功能实现所依赖的对象,在JQuery中的Ajax是对 XHR的封装. 1.查看异步加 ...

  2. Python 使用matplotlib数据可视化显示CSV文件数据

    (一)获取数据 1.下载sitka_weather_07-2014.csv数据:https://ehmatthes.github.io/pcc/ (二)分析CSV文件头 csv模块包含在python标 ...

  3. python学习(三):web网页框架Django,成就python全栈开发

    1.Django安装 框架很完美,组件非常多,但文件太多,过于臃肿(1.. Django是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计.· 由经验丰富的开发人员构建,它负责We ...

  4. python计算csv文件内的数据_Python利用pandas计算多个CSV文件数据值的实例

    功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys in ...

  5. web网页中的特殊字体/字符

    web网页中的特殊字体/字符 1.特殊字体: Webdings字体,详见:http://blog.csdn.net/oscar999/article/details/10414411 测试: < ...

  6. HTML数字项目标签千位分隔符,请使用千位分隔符(逗号)表示web网页中的大数字

    一.移动端大数值会默认当作电话号码 在手机等移动设备上,对于超过一定个数的数值,系统默认会当做电话号码处理,而不是一个数字 按照中文用户的使用习惯,有时候个数很多的连续数字其实真的就是一个数字,自动变 ...

  7. python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解

    利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb&qu ...

  8. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  9. 网页中动态嵌入PDF文件/在线预览PDF内容

    网页中动态嵌入PDF文件/在线预览PDF内容https://www.cnblogs.com/xgyy/p/6119459.html #网页中动态嵌入PDF文件/在线预览PDF内容# 摘要:在web开发 ...

最新文章

  1. Windows客户端C/C++编程规范“建议”——函数调用
  2. #@python常见的代码自己编写问题
  3. withRouter组件
  4. 互联网协议 — UDP 用户数据报协议
  5. 设计模式之:适配器模式
  6. CVer入门必备:计算机视觉的深度学习实践
  7. 不用 pip install,你养我吗?
  8. Web服务 源码编译安装LAMP架构
  9. Win11右键菜单变换Win10风格
  10. shortcut icon 修改浏览器标签网站图标
  11. Linux程序实现弹框,jQuery实现弹出框 效果绝对美观
  12. Linux系统如何连接和上传文件到服务器上
  13. 图解HTTP笔记(一)
  14. PPT镂空字体、填充文字、图片字、拆分字制作
  15. 微信抽奖助手网络或服务器错误,微信抽奖助手怎样运用 抽奖助手运用办法
  16. Opencv实现颜色检测
  17. 计算机基础知识背诵口诀,字根表口诀怎么快速背-文言文的快速背诵方法4则,附虚词背诵顺口溜...
  18. 机器人编程和少儿编程哪个难
  19. mysql 不识别欧元符号_将欧元和美元符号插入MySQL中的列?
  20. php程序员的自白,程序员考试前的内心独白

热门文章

  1. Spark2.3.2源码解析: 5. SparkConf源码分析
  2. 为什么聪明人未能拯救世界?|《流浪地球》冷思考
  3. QQ邮箱SMTP限流
  4. iPhone人物拍照调色
  5. XXL-JOB快速安装使用教程
  6. 【学术】可以分享一下关于“社会计算”有哪些国内外顶级会议吗?
  7. 极客战记[森林]CHALLENGE:MAGIC EXAM
  8. 2019年8月桌面CPU性能天梯图
  9. 深入理解Java虚拟机读书笔记七
  10. 前端性能优化之 —— 图片延迟加载 (原理以及实现方式)