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 相关文章推荐
Python多线程编程(五):死锁的形成
Apr 05 Python
Python的for和break循环结构中使用else语句的技巧
May 24 Python
Python3利用SMTP协议发送E-mail电子邮件的方法
Sep 30 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 Python
Python用于学习重要算法的模块pygorithm实例浅析
Aug 16 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
Python django使用多进程连接mysql错误的解决方法
Oct 08 Python
Django admin禁用编辑链接和添加删除操作详解
Nov 15 Python
python实现扫雷游戏
Mar 03 Python
Python如何在bool函数中取值
Sep 21 Python
python opencv角点检测连线功能的实现代码
Nov 24 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
Jan 24 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
用ADODB来让PHP操作ACCESS数据库的方法
2006/12/31 PHP
php session和cookie使用说明
2010/04/07 PHP
用PHP实现弹出消息提示框的两种方法
2013/12/17 PHP
一个PHP针对数字的加密解密类
2014/03/20 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
Discuz!X中SESSION机制实例详解
2015/09/23 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
Laravel中的chunk组块结果集处理与注意问题
2018/08/15 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
jQuery对象和DOM对象的相互转化实现代码
2010/03/02 Javascript
Jquery replace 字符替换实现代码
2010/12/02 Javascript
用Javascript评估用户输入密码的强度(Knockout版)
2011/11/30 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
用原生js做单页应用
2017/01/17 Javascript
Three.js加载外部模型的教程详解
2017/11/10 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 正则式 概述及常用字符
2009/05/07 Python
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
2015/02/04 Python
python实现员工管理系统
2018/01/11 Python
详解Python 爬取13个旅游城市,告诉你五一大家最爱去哪玩?
2019/05/07 Python
keras 多gpu并行运行案例
2020/06/10 Python
佳能法国商店:Canon法国
2019/02/14 全球购物
工艺员岗位职责
2014/02/11 职场文书
个人贷款承诺书
2014/03/28 职场文书
一体化教学实施方案
2014/05/10 职场文书
《你在为谁工作》心得体会(共8篇)
2016/01/20 职场文书
《鸟的天堂》教学反思
2016/02/19 职场文书
《藏戏》教学反思
2016/02/23 职场文书
宪法宣传标语100条
2019/10/15 职场文书
Springboot集成阿里云OSS上传文件系统教程
2021/06/28 Java/Android