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 文件与目录操作
Dec 24 Python
Python Paramiko模块的使用实际案例
Feb 01 Python
Python下使用Scrapy爬取网页内容的实例
May 21 Python
Python3中关于cookie的创建与保存
Oct 21 Python
利用Pandas和Numpy按时间戳将数据以Groupby方式分组
Jul 22 Python
python栈的基本定义与使用方法示例【初始化、赋值、入栈、出栈等】
Oct 24 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
Python类如何定义私有变量
Feb 03 Python
Python 实现黑客帝国中的字符雨的示例代码
Feb 20 Python
pytorch 带batch的tensor类型图像显示操作
May 20 Python
Python3.10的一些新特性原理分析
Sep 15 Python
浅析Python中的随机采样和概率分布
Dec 06 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中的串行化变量和序列化对象
2006/09/05 PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
2013/06/01 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
Javascript 事件流和事件绑定
2009/07/16 Javascript
js 获取radio按钮值的实例
2013/08/17 Javascript
thinkphp 表名 大小写 窍门
2015/02/01 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
谈一谈bootstrap响应式布局
2016/05/23 Javascript
AngularJS ng-mousedown 指令
2016/08/02 Javascript
微信小程序 swiper组件轮播图详解及实例
2016/11/16 Javascript
React Native 环境搭建的教程
2017/08/19 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
JS实现数组去重,显示重复元素及个数的方法示例
2019/01/21 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
2019/02/02 Javascript
[01:09]DOTAPLUS——DOTA2的新时代
2018/04/04 DOTA
[01:45:05]VGJ.T vs Newbee Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
[08:47]2018国际邀请赛 OG战队举杯时刻
2018/08/29 DOTA
[47:04]EG vs RNG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
pymssql ntext字段调用问题解决方法
2008/12/17 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
Python单例模式实例详解
2017/03/01 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
Python:Numpy 求平均向量的实例
2019/06/29 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
布鲁明戴尔百货店:Bloomingdale’s
2016/12/21 全球购物
奥地利购买珠宝和手表网站:ELLA JUWELEN
2019/09/03 全球购物
密封类可以有虚函数吗
2014/08/11 面试题
球队口号
2014/06/18 职场文书
龙潭大峡谷导游词
2015/02/10 职场文书
预备党员半年考察意见
2015/06/01 职场文书
入队仪式主持词
2015/07/04 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang