python如何将字典数据写入到csv文件中

废话不多说,直接上代码:

import csv
header = ['name', 'age'] #数据列名
datas = [{'name': 'Tony', 'age': 17},
        {'name': '李华', 'age': 21}] # 字典数据
        
# test.csv表示如果在当前目录下没有此文件的话,则创建一个csv文件
# a表示以“追加”的形式写入,如果是“w”的话,表示在写入之前会清空原文件中的数据
# newline是数据之间不加空行
# encoding='utf-8'表示编码格式为utf-8,如果不希望在excel中打开csv文件出现中文乱码的话,将其去掉不写也行。
with open('test.csv', 'a', newline='',encoding='utf-8') as f: 
    writer = csv.DictWriter(f,fieldnames=header) # 提前预览列名,当下面代码写入数据时,会将其一一对应。
    writer.writeheader()  # 写入列名
    writer.writerows(datas) # 写入数据

PS:如果将参数**encoding=‘utf-8’**去掉的话,那么在pycharm里面显示csv数据的时候可能会出现乱码,这样一来还得加上,因为python的默认编码格式是utf-8,而excel文件编码格式是gbk,两者不兼容,建议加上encoding='utf-8’参数。如果不想excel中的csv文件乱码的话,建议将csv文件以记事本的方式打开,另存为ANSI格式即可。如下:
python如何将字典数据写入到csv文件中_第1张图片
python如何将字典数据写入到csv文件中_第2张图片
python如何将字典数据写入到csv文件中_第3张图片

你可能感兴趣的:(python如何将字典数据写入到csv文件中)