【Python】csv模块(数据保存)

52 阅读2分钟

csv 是什么?

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),。

CSV (Comma Separated Values),即逗号分隔值(也称字符分隔值,因为分隔符可以不是逗号),是一种常用的文本格式,其文件以纯文本形式存储表格数据(包括数字或者字符)。在处理数据时会经常碰到csv这种格式的文件。python自带了csv模块,专门用于处理csv文件的读取。

如何使用?

写入csv文件:

1、创建writer对象,主要用到2个方法:

writerow:写入一行

writerows:写入多行

2、使用DictWriter,可以使用字典的方式把数据写入进去

读取csv文件:

1、通过reader()读取到的每一条数据是一个列表。 可以通过下标的方式获取具体某一个值。

2、通过DictReader()读取到的数据,是一个字典。 可以通过 key 值(列名)的方式获取数据。

csv文件的操作与应用:

写入数据:

1、写入文件:
import csv

persons = [(('苏檀儿', 18, 165), ('宁立恒', 22, 178), ('路长风', 20, 175))]
headers = ('name', 'age', 'height')
with open('demo_01_写入文件.csv', mode='w', encoding='utf-8', newline='') as f:

    # 创建writer对象,将文件f传入
    writer = csv.writer(f)
    # 写入表头
    writer.writerow(headers)
    # 将列表中的值写入
    for i in persons:
        writer.writerow(persons)
2、写入字典格式的数据(常用):
import csv

persons = [
    {'name': '苏檀儿', 'age': '18', 'height': '165'},
    {'name': '宁立恒', 'age': '20', 'height': '175'},
    {'name': '路长风', 'age': '28', 'height': '185'}
]

headers = ('name', 'age', 'height')
with open('demo_02写入字典格式的数据.csv', mode='w', encoding='utf-8', newline="") as f:
    writer = csv.DictWriter(f, headers)
    writer.writeheader()
    writer.writerows(persons)

读取数据:

1、读取文件
import csv

with open('demo_01_写入文件.csv', mode='r', encoding='utf-8', newline='') as f:
    reader = csv.reader(f)
    for i in reader:
        print(i)
2、读取字典格式的数据文件
import csv

with open('demo_02写入字典格式的数据.csv', mode='r', encoding='utf-8', newline='') as f:
    reader = csv.DictReader(f)
    # print(reader)   # <csv.DictReader object at 0x10287a510>
    for i in reader:
        for j, k in i.items():
            print(j, k)