27. 生成CSV文件

2023-10-27

CSV(Comma-Separated Values)文件中文件字符分隔值,CSV文件以纯文本形式存储表格数据(数字和文本),可以被常见制表工具(excel等)直接读取

目录

1  生成CSV

2  结合django使用csv

2.1  方案1

2.2  方案2

3  分页配合csv文件


1  生成CSV

我们使用python内建的csv库来操作csv文件

  • open生成CSV文件必须有newline且newline必须是空字符串
  • writerow()调用一次就会写一行

运行后在代码的同级目录中会出现生成的csv文件

打开后发现与我们输入的内容一致

writerow()的参数只要是一个列表就行,所以我们可以使用查询数据的结果生成csv文件,我下面会用数据表做例子

2  结合django使用csv

目的都是搞一个路由,然后访问这个路由就可以得到生成的csv文件

2.1  方案1

生成放static中,然后302到static就能下载了

路由

视图

之后我们访问download_csv1

  • 由于302到static,所以地址栏不会显示download_csv1

打开下载好的test.csv,发现其中是我们需要的内容

2.2  方案2

方案二对响应做出一些修改

  • 修改content_type,告知浏览器该文档是CSV文件,而不是HTML文件
  • 修改Content-Disposition,告知浏览器有附件,响应后需要保存

csv.writer()的参数为csv文档对象,此时response就是一个csv文档对象,所以可以放在csv.writer()中

之后我们搞一个路由

然后访问一下

效果与方案一相同

点开后发现是我们想要的数据

方案二相较于方案一不需要使用static,也不需要特意搞路由

3  分页配合csv文件

有时会有下载当前页内容的需求,我们使用之前的分页来搞一下

搞一个下载每页CSV的视图

再搞一个路由

最后在分页的html中加入一个a标签

  • 链接地址一定要给查询字符串

之后我们访问一下分页的路由,然后点击下载该页信息

打开后发现符合要求

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

27. 生成CSV文件 的相关文章

随机推荐

  • Vue 生命周期-钩子函数介绍

    生命周期 每一个组件或者实例都会经历一个完整的生命周期 总共分为三个阶段 初始化 运行中 销毁 钩子函数 vue在整个生命周期里面提供了一些函数 可以在内部实现一些业务逻辑 并且这些函数会在一些特定的场合下去执行 在生命周期的某一个时刻进行
  • 抖音、快手、B站、小红书,品牌如何选对投放平台?

    移动互联网时代 各大平台的品牌广告迎来了爆炸式的增长 穿插在内容流中的信息流广告和KOL内容投放广告对用户来说体验相对较好 对广告主来说可以利用用户的标签进行精准投放 无论是品牌曝光还是获取转化都可满足需求 品牌该如何选择适合自己的平台 让
  • 离散元后处理,将PFC数据写出并导入到matlab中形成云图

    离散元后处理 将PFC数据写出并导入到matlab中形成云图 支持二维三维绘图 内容包括 案例文件 fish代码和matlab代码 pfc2d 3d to matlab ID 71200677036823736
  • 四篇文章带你玩转springboot——3启动源码及外部化配置

    第1章 main入口 public static void main String args 代码很简单SpringApplication run SpringApplication run ConsumerApp class args p
  • Java8常用新特性详解

    文章目录 Java8新特性纵览 Lambda表达式 为什么使用Lambda表达式 简单使用 Lambda语法规则 函数式接口 什么是函数式 Functional 接口 如何理解函数式接口 Java内置函数式接口 自定义函数式接口 方法引用
  • Android中的信息输出:System.out和Log的源码分析与对比(System.out篇)

    想必大家在编写Android程序的时候必然绕不来输出信息 对于熟悉Java的程序员来讲 他们更喜欢使用System out来输出信息 而Android开发经验更丰富的程序员则更倾向于使用Log 毕竟在调试的时候Android环境本身就会输出
  • Cannot read properties of undefined (reading ‘install‘)

    把vue rotuer的版本降低 我降低为了 3 5 4 然后终端重新跑代码
  • 对于开源软件的审查(有无后门等)

    最近公司申请安服资质 让我帮忙写个对开源软件的审查方法 就随便编了以下 如有补充还请各位扶正 其实我觉得他们为啥不怀疑windows有问题呢 非黑客攻击行为安全工具 此类工具通常为辅助测试工具 不具备直接攻击行为 且通常具有官方来源 例如
  • 开源SOLOv2,让动态实例分割更快更强更精准

    作者 介绍 作者建立一个性能强大的简单 通过动态学习对象分割器的蒙版头 使蒙版头以位置为条件 进一步提升性能 具体来说 将遮罩分支解耦为遮罩内核分支和遮罩特征分支 分别负责学习卷积内核和卷积特征 利用矩阵NMS 非最大抑制 以显着减少由于掩
  • 【七夕特辑】用python来实现跳动爱心+爱心心电图+玫瑰花+.....

    前言 什么 明天七夕 学了这么久的python 还写不出来给 对象或者心动Crush 的一个表白代码 还得是我来帮你们准备几个吧 有去年比较火的跳动爱心 也有其他的 来看看 挑选一下 领取代码后 不要忘记发给人家了 emmm先来给你们都看一
  • selenium4 自动化测试--环境安装和基础操作

    最近也有很多人私下问我 selenium学习难吗 基础入门的学习内容很多是3以前的版本资料 对于有基础的人来说 3到4的差别虽然有 但是不足以影响自己 但是对于没有学过的人来说 通过资料再到自己写的代码 发现有些东西没有 有些方法又不相同
  • html给后台发送请求,10分钟学会——前端如何通过AJAX向后端发送请求

    AJAX 基于现有的internet标准 XMLHttpRequest 对象 异步的与服务器交换数据 JavaScript DOM 信息显示 交互 CSS 给数据定义样式 XML 作为转换数据的格式 GET请求 异步请求 来自服务器的响应并
  • 热门前端工具链宣布放弃 TypeScript!

    近日 前端工具链 Turbo 宣布将在 8 0 版本放弃 TypeScript 三个月前 前端框架 Svelte 宣布将在 4 0 版本从 TypeScript 切换到使用 JSDoc 的 JavaScript 如今 又一大前端工具 Tur
  • 安装了pyintaller后出现:‘pyinstaller‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

    2023年7月31日 周一上午 我昨天晚上也遇到了这个问题 后来解决了 目录 出错原因 解决方法 怎么找到Scripts文件夹 出错原因 出现这个错误是因为你没给python的Scripts文件夹添加环境变量 Scripts存放着pip安装
  • git提交代码

    1 先决条件 代码是repo下来的 代码修改完毕 进入自己修改代码的模块下 git checkout b sprdroid2 3 vlx 3 0 korg 分支名 每个git仓库只用执行一次此命令 以后提交时不用敲此命令 git statu
  • linux中用crontab命令定时执行scrapy项目

    进入文件所在目录 为了保证此方法可行 我先在所在的目录创建一个测试小demo的脚本 想知道如何执行scrapy项目可以直接跳到后面 vi test sh 编写一个每分钟往当前文件中的test txt中写入111的脚本 编写crontab命令
  • Flutter实现圆形头像的几种方法

    Flutter的ClipRect的使用场景 ClipRect可以用来裁剪容器内部的子元素 以避免超出容器的范围而溢出 常见的应用场景有 将一个图像裁剪成不同形状 如圆形 方形 椭圆等 将一个复杂的控件裁剪成更容易理解的形状 裁剪过大的图片或
  • 基于Transformers的自然语言处理入门【十】-机器翻译

    基于Transformers的自然语言处理入门 十 机器翻译 1 机器翻译背景 2 机器翻译模型训练 1 机器翻译背景 机器翻译 是指使用计算机将一种自然语言转换为另一种自然语言的过程 这里 自然语言是指日常使用的人类语言 如中文 英语 区
  • Java反射的底层原理,以及Java反射的性能分析及优化

    java的反射技术 号称是编程界的九阳神功 也可以说是框架的灵魂 也正是这种反射机制使静态语言的java具备了动态语言的某些特质 就是有了反射 才让java动态 编程的时候更加灵活 能够动态获取信息以及动态调用对象方法 其实 Java基础技
  • 27. 生成CSV文件

    CSV Comma Separated Values 文件中文件字符分隔值 CSV文件以纯文本形式存储表格数据 数字和文本 可以被常见制表工具 excel等 直接读取 目录 1 生成CSV 2 结合django使用csv 2 1 方案1 2