csv文件读取与写入

csv文件的读取:

1)通过列表下标读取:

import csv
with open('stock.csv','r') as fp:
    # reader是个迭代器
    reader = csv.reader(fp)
    next(reader)
    for i in reader:
        # print(i)
        name = i[3]
        volumn = i[-1]
        print({'name':name,'volumn':volumn})

  直接用 open() 函数打开 csv 文件。使用csv.reader() 方法,其中参数为指针。因为该 csv 文件有表头,使用可以使用 next() 函数直接跳过第一组数据,即表头数据。然后直接通过列表下标获取想要的数据。

 

2)通过key获取:

import csv
with open('stock.csv','r') as fp:
    reader = csv.DictReader(fp)
    for i in reader:
        value = {"name":i['secShortName'],"volumn":i['turnoverVol']}
        print(value)

   使用DictReader创建reader对象,不会包含表头那行的数据,而reader这个迭代器与reader创建的又不一样,遍历这个迭代器,返回来的是一个字典,不是列表。

 

csv文件的写入:

1)使用 writer 创建对象,writerow(s) 写入:

import csv
headers = ['username','age','height']
value = [
    ('张三',18,180),
    ('李四',19,175),
    ('王五',20,170)
]
with open("classroom.csv",'w',encoding='utf-8',newline='') as fp:
    writer = csv.writer(fp)
    writer.writerow(headers)
    writer.writerows(value)

  写入数据到 csv 文件,需要创建一个 writer 对象,才可以使用 writerow 写入一行,而 writerows 是全部写入。其中 默认下 newline=‘\n’ 即写入一行就会换行,所以需要改成空,数据都是存放在列表中。

 

2)使用 DictWriter 创建对象,writerow(s) 写入:

import csv
headers = ['name','age','height']
value = [
    {'name':'张三','age':18,'height':180},
    {'name':'李四','age':19,'height':175},
    {'name':'王五','age':20,'height':170}
]
with open("classroom1.csv",'w',encoding='utf-8',newline='') as fp: #默认newline='\n'
    writer = csv.DictWriter(fp,headers)
    writer.writeheader()
    writer.writerows(value)

  当数据是存放在字典中可以使用 DictWriter 创建 writer 对象,其中,需要传两个参数,第一个是指针,第二个是表头信息。当使用 DictWriter 创建对象时,写入表头还需要执行 writeheader() 操作。

 

转载于:https://www.cnblogs.com/zyde-2893/p/11257211.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值