在Python如何把字典写入到CSV文件?小编今天通过示例方法来教给大家Python把字典写入到CSV文件,如果有需要的小伙伴一定要收藏这篇文章,方便以后再次查阅,那么我们废话少说,直接开始吧。
在日常的项目数据分析过程中,开发者大多进行分析的话,会使用Python来处理数据(海量的数据),我们都是把这个数据转换为Python的对象的,比如最为常见的字典。
就比如现在我们有个几十上百万的数据,我们不可能会考虑在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()写入就好。其实写入就是这么简单,也解决我们点点点的麻烦!