Python CSV存储

 csv,全称为 Comma-Separated Values,中文可以叫作逗号分隔值或字符分隔值,其文件以纯文本形式存储表格数据 。

1. CSV将已知列表数据写入CSV文件

import csv
#创建或打开一个date_test.csv的文件
with open('data_test.csv','w',newline='') as f:
    writer = csv.writer(f)#delimiter可以修改列与列之间的分隔符
    writer.writerow(['id','name','age'])
    writer.writerow(['1715','YuDi',21])
    writer.writerow(['1716','JON',20])
    writer.writerow(['1718','Tian',22])
f.close()

打开data_test.csv文件:

2. 二维列表写入(简化1)

import csv
#创建或打开一个date_test.csv的文件
with open('data_test.csv','w',newline='') as f:
    writer = csv.writer(f)#delimiter可以修改列与列之间的分隔符
    writer.writerow(['id','name','age'])
    writer.writerows([['1715','YuDi',21],['1716','JON',20],['1718','Tian',22]])#仔细观察和1的区别
f.close()

3. 写入字典

import csv
with open('data_test.csv','w',newline='') as f:
    fieldname = ['id','name','age']
    writer = csv.DictWriter(f,fieldnames=fieldname)
    writer.writeheader()
    writer.writerow({'id':'1001','name':'Dan','age':20})
    writer.writerow({'id': '1002', 'name': 'Jon', 'age': 23})
    writer.writerow({'id': '1003', 'name': 'Yu', 'age': 21})
f.close()

似乎和列表的写入并没有什么异同点,如果是多个字典的集合呢?不知道writer.writerows()你是否记住了!!!

4. 字典的集合[{}]

import csv
with open('data_test.csv','w',newline='') as f:
    fieldname = ['id','name','age']
    writer = csv.DictWriter(f,fieldnames=fieldname)
    writer.writeheader()
    writer.writerows([{'id':'1001','name':'Dan','age':20},{'id': '1002', 'name': 'Jon', 'age': 23},{'id':'1003','name':'YuDi','age':20}])
f.close()

3和4的结果为:

5. 读数据

import csv
with open('data_test.csv','r',encoding='utf-8') as f:
    reader = csv.reader(f)
    for i in reader:
        print(i)

结果

['id', 'name', 'age']
['1001', 'Dan', '20']
['1002', 'Jon', '23']
['1003', 'YuDi', '20']

我们不是初学者,不是应试者,不应该止步于此。

posted @ 2020-10-29 21:28  YuDi雨恋  阅读(160)  评论(0)    收藏  举报