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编写检测数据库SA用户的方法
Jul 11 Python
利用Python脚本实现ping百度和google的方法
Jan 24 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
Python机器学习库scikit-learn安装与基本使用教程
Jun 25 Python
python使用PIL给图片添加文字生成海报示例
Aug 17 Python
Python 获取指定文件夹下的目录和文件的实现
Aug 30 Python
python enumerate内置函数用法总结
Jan 07 Python
django有外键关系的两张表如何相互查找
Feb 10 Python
IntelliJ 中配置 Anaconda的过程图解
Jun 01 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 Python
python源码剖析之PyObject详解
May 18 Python
Python使用mitmproxy工具监控手机 下载手机小视频
Apr 18 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
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
PHP启动windows应用程序、执行bat批处理、执行cmd命令的方法(exec、system函数详解)
2014/10/20 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
验证token、回复图文\文本、推送消息的实用微信类php代码
2016/06/28 PHP
写自已的js类库需要的核心代码
2012/07/16 Javascript
jquery判断RadioButtonList和RadioButton中是否有选中项示例
2013/09/29 Javascript
jquery实现预览提交的表单代码分享
2014/05/21 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
jQuery实现模仿微博下拉滚动条加载数据效果
2015/12/25 Javascript
干货分享:让你分分钟学会javascript闭包
2015/12/25 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
jQuery图片瀑布流的简单实现代码
2017/03/15 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
vue 实现通过手机发送短信验证码注册功能
2018/04/19 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
微信小程序实现的一键连接wifi功能示例
2019/04/24 Javascript
node.js基于dgram数据报模块创建UDP服务器和客户端操作示例
2020/02/12 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
[58:37]Serenity vs Fnatic 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
[41:05]Serenity vs Pain 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python版本的读写锁操作方法
2016/04/25 Python
python excel使用xlutils类库实现追加写功能的方法
2018/05/02 Python
Django 实现前端图片压缩功能的方法
2019/08/07 Python
Python中有几个关键字
2020/06/04 Python
浅谈Python里面None True False之间的区别
2020/07/09 Python
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
庆祝教师节活动方案
2014/01/31 职场文书
电气个人求职信范文
2014/02/04 职场文书
车队司机自我鉴定
2014/03/02 职场文书
工作作风建设心得体会
2014/10/22 职场文书
教师工作总结范文2014
2014/11/10 职场文书
组织生活会发言材料
2014/12/15 职场文书
个人总结格式范文
2015/03/09 职场文书
大学军训通讯稿
2015/07/18 职场文书
纯CSS实现hover图片pop-out弹出效果的实例代码
2021/04/16 HTML / CSS
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL