Python如何把字典写入到CSV文件的方法示例
作者:王小王-123 发布时间:2021-04-02 08:27:52
在实际数据分析过程中,我们分析用Python来处理数据(海量的数据),我们都是把这个数据转换为Python的对象的,比如最为常见的字典。
比如现在有几十万份数据(当然一般这么大的数据,会用到数据库的概念,不会去在CPU内存里面运行),我们不可能在Excel里面用函数进行计算一些值吧,这样是不现实的。
Excel只适合处理比较少的数据,具有方便快速的优势
那么我们假设是这么多数据,现在我要对这个数据进行解析,转换,最后数据分析,处理,然后写入数据到CSV文件,这样才达到要求,那么如何把数据字典写入到CSV文件了,我们就来看看。
就把这个项目和我们之前写过的一个成绩计算系统相关联,记得当时我们是把他写入为txt文件,里面是以字典的方式呈现的,那么我们现在来改进一下,就是为了把这份分析好的数据,呈现给其他人,比如现在要归档把这份数据存储下来。
首先我们建立了一个函数,专门写入CSV文件的这样一个函数
def csv_writer():
这里我们首先把我们这份数据的键(表头)给取出来,这里我们用到了一个遍历算法,那么有的小伙伴就疑问了,为什么我不手动加入,写入啊,也就几行我copy就好了,但是我们考虑一下如果键有几十个的话,我们直接copy是不是显得有点不自动化了,Python就是可以解决办公难题,别用一个小时的时间,你只需要1分钟就好。
a=[]
dict=student_infos[0]
for headers in sorted(dict.keys()):#把字典的键取出来
a.append(headers)
header=a#把列名给提取出来,用列表形式呈现
这里的header是一个列表
这里我打开了这个文件,准备写入,里面的参数我这里一一解释一下。
** a表示以“追加”的形式写入,如果是“w”的话,表示在写入之前会清空原文件中的数据
newline是数据之间不加空行
encoding='utf-8'表示编码格式为utf-8,如果不希望在excel中打开csv文件出现中文乱码的话,将其去掉不写也行。
为了不让pycharm里面的CSV文件乱码,我们这里用的参数编码为utf-8
而excel文件编码格式是gbk,两者不兼容,建议加上encoding='utf-8'参数。
如果不想excel中的csv文件乱码的话,建议将csv文件以记事本的方式打开,另存为ANSI格式即可。**
with open('成绩更新.csv', 'a', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, fieldnames=header) # 提前预览列名,当下面代码写入数据时,会将其一一对应。
writer.writeheader() # 写入列名
writer.writerows(student_infos) # 写入数据
print("数据已经写入成功!!!")
这里的字典数据使我们之前内存空间里面已经解析处理好的数据,我这里最后一行直接用.writerows(字典)写入,至于表头,writeheader()写入就好
其实写入就是这么简单,也解决我们点点点的麻烦!
来源:https://blog.csdn.net/weixin_47723732/article/details/108049912


猜你喜欢
- 在上一篇博客介绍TOML配置的时候,讲到了通过信号通知重载配置。我们在这一篇中介绍下如何的平滑重启server。与重载配置相同的是我们也需要
- 如下所示://用普通文本文件方式打开和操作with open("'file.csv'") as cf:
- 上一篇讲到了javascript的节流函数和防抖函数,那么我们在实际场合中该如何运用呢?首先,我们来理解一下:节流函数首先是节流,就是节约流
- “到底是什么将艺术和设计分开的?”这样一个话题听起来费解,长时间以来, 也已经被讨论过无数次。艺术家和设计师都是通过共通的知识和素养来创造视
- 以这两个域名为例:http://www.knowsky.com/http://code.knowsky.com/这两个域名都是绑在同一个空间
- 如果你没有序列号,那么就只能在上面的三种free edition(Enterprise Evaluation、Express、Express
- // 1.采用计算属性来获取$store中的值computed: { listenstage() {
- sorted 用于对集合进行排序(这里集合是对可迭代对象的一个统称,他们可以是列表、字典、set、甚至是字符串),它的功能非常强大1、对列表
- 今天做站时碰到个小问题:ASP正则获取文章内容图片地址,现在将此方法的思路拿出来分享下:Function RegExp_Execu
- 本文实例讲述了python实现的用于搜索文件并进行内容替换的类。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/python
- 两个json数组合并去重,以及删除某一项元素let ha = [ {id:'H',name:'3'}, {i
- TensorFlow官网给的cifar-10教程,是卷积神经网络入门的好例子,有时想直接拿这个模型来跑自己的数据,却发现他的数据类型不是常见
- 1、很多B2C或者淘宝的卖家反应,下单了但没有支付的占有率超过30%,有的甚至到40%。对于冲动性消费的商品来说,这个70%左右的转化率其实
- 1.为什么要使用域名访问部署在Istio中的程序我们在Istio中部署的程序一定不止有一个,前面我们已经在Istio中部署了Httpbin、
- 具体解决方案如下: 一、IE和FF下document.body对象的clientHeight,offsetHeight,scrollHeig
- 本文实例为大家分享了python利用opencv实现颜色检测的具体代码,供大家参考,具体内容如下需要实现倒车辅助标记检测的功能,倒车辅助标记
- OS ( Operating System 操作系统 ) 操作系统模块;它是属于python的标准库,也就是Python自带的库;它常用于处
- 众所周知,vue可以用来开发移动端app,可以使用hbuilder将build好的vue打包成一个移动端app,但是用过之后就会发现,使用c
- 对于请求一些网站,我们需要加上请求头才可以完成网页的抓取,不然会得到一些错误,无法返回抓取的网页。下面,介绍两种添加请求头的方法。方法一:借
- 以下针对Ubuntu系统,Windows系统没有测试过。Ubuntu中默认就安装有Python 2.x和Python 3.x,默认情况下py