Python文档数据存储---CSV数据写入与读取

本文档介绍了Python中CSV数据的写入和读取方法。包括使用`writerow`和`writerows`进行单行或多行数据写入,以及使用`reader`和`DictReader`读取CSV文件,其中`DictReader`能将数据以字典形式按列头组织。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       常用的数据存储介质有文件、关系式数据库非关系式数据库文本文档存储适用于具有时效性的数据,入股市行情、商品信息和排行榜信息等,这类数据具有动态变化性质,非特殊要求下,建议存放文件。

1、CSV数据写入

       写入数据分为单行写入多行写入,对应的函数分别为writerowwriterows,数据写入CSV的代码如下:

import csv
#若存在csv则打开;若不存在则新建
#若不设置newline='',则每行数据就会隔一行空白行
with open('csv_test.csv','w',newline = '')as csvfile:
    writer = csv.writer(csvfile)
    #单行写入
    writer.writerow(['姓名','年龄','电话'])
    #多行写入
    data = [
        ('小p','18','123456789'),
        ('小y','20','987654321')
    ]
    writer.writerows(data)

2、CSV数据读取

       读取CSV文件的函数有readerDictReader(读取输出全为string类型),reader函数以列表形式返回,DictReader函数以字典的形式返回,字典的键是单元格的标题(列头),字典的值是对应单元格的值。代码如下:

import csv
#获取全部数据
with open('csv_test.csv','r')as csvfile:
    #以列表形式输出
    reader = csv.reader(csvfile)
    #以字典形式输出,第一行作为字典的键
    reader = csv.DictReader(csvfile)
    #以列表生成器的形式表达,当数据过大时,利用此方法可以解决占用太大内存空间的问题
    rows = [row for row in reader]
    print(rows)

      如果需要获取某行数据,就可以循环全部数据,在对每行数据做一个判断,判断是否符合筛选条件,代码如下:

import csv
#获取单行数据
with open('csv_test.csv','r')as csvfile:
    #一列表的形式输出
    reader = csv.reader(csvfile)
    for row in reader:
        if '小p' in row:
            print(row)
    #以字典的形式输出
    reader = csv.DictReader(csvfile)
    for row in reader:
        if row['姓名'] == '小p':
            print(row)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值