Python如何把字典写入到CSV文件的方法示例


Posted in Python onAugust 23, 2020

在实际数据分析过程中,我们分析用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()写入就好

其实写入就是这么简单,也解决我们点点点的麻烦!

Python如何把字典写入到CSV文件的方法示例

Python如何把字典写入到CSV文件的方法示例

到此这篇关于Python如何把字典写入到CSV文件的方法示例的文章就介绍到这了,更多相关Python字典写入到CSV 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
简单介绍Ruby中的CGI编程
Apr 10 Python
python实现根据主机名字获得所有ip地址的方法
Jun 28 Python
Python实现的rsa加密算法详解
Jan 24 Python
python3.6数独问题的解决
Jan 21 Python
对python 判断数字是否小于0的方法详解
Jan 26 Python
TensorFlow获取加载模型中的全部张量名称代码
Feb 11 Python
Python多进程编程常用方法解析
Mar 26 Python
Python爬虫:Request Payload和Form Data的简单区别说明
Apr 30 Python
Python中bisect的用法及示例详解
Jul 20 Python
python爬虫使用requests发送post请求示例详解
Aug 05 Python
python连接mysql数据库并读取数据的实现
Sep 25 Python
Python中的 enumerate和zip详情
May 30 Python
Python tkinter界面实现历史天气查询的示例代码
Aug 23 #Python
套娃式文件夹如何通过Python批量处理
Aug 23 #Python
python进度条显示-tqmd模块的实现示例
Aug 23 #Python
基于python tkinter的点名小程序功能的实例代码
Aug 22 #Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 #Python
python进度条显示之tqmd模块
Aug 22 #Python
python 常见的排序算法实现汇总
Aug 21 #Python
You might like
解析php做推送服务端实现ios消息推送
2013/07/01 PHP
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
javascript showModalDialog 内跳转页面的问题
2010/11/25 Javascript
写了10年的Javascript也未必全了解的连续赋值运算
2011/03/25 Javascript
jQuery页面滚动浮动层智能定位实例代码
2011/08/23 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
javascript搜索框点击文字消失失焦时文本出现
2014/09/18 Javascript
jQuery实现炫酷的鼠标轨迹特效
2015/02/01 Javascript
js随机生成字母数字组合的字符串 随机动画数字
2015/09/02 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
JavaScript隐式类型转换
2016/03/15 Javascript
js和jQuery设置Opacity半透明 兼容IE6
2016/05/24 Javascript
BootStrap智能表单实战系列(六)表单编辑页面的数据绑定
2016/06/13 Javascript
详解vue项目构建与实战
2017/06/27 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
js循环map 获取所有的key和value的实现代码(json)
2018/05/09 Javascript
微信小程序scroll-view仿拼多多横向滑动滚动条
2020/04/21 Javascript
three.js实现炫酷的全景3D重力感应
2018/12/30 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
javascript实现fetch请求返回的统一拦截
2019/12/22 Javascript
Vue插槽_特殊特性slot,slot-scope与指令v-slot说明
2020/09/04 Javascript
[01:09]DOTA2次级职业联赛 - ishow.HMM战队宣传片
2014/12/01 DOTA
[36:02]DOTA2上海特级锦标赛D组小组赛#2 Liquid VS VP第一局
2016/02/28 DOTA
Python 字符串操作实现代码(截取/替换/查找/分割)
2013/06/08 Python
python使用paramiko模块实现ssh远程登陆上传文件并执行
2014/01/27 Python
Python下线程之间的共享和释放示例
2015/05/04 Python
windows下pycharm安装、创建文件、配置默认模板
2018/07/31 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
详解numpy矩阵的创建与数据类型
2019/10/18 Python
Python Opencv实现单目标检测的示例代码
2020/09/08 Python
SQL Server 2000数据库的文件有哪些,分别进行描述。
2015/11/09 面试题
会计试用期自我评价
2015/03/10 职场文书
给朋友的赠语
2015/06/23 职场文书