csv的读写--Python

读写csv

【python基础教程】csv文件的写入与读取_python写入csv文件_hacker707的博客-优快云博客

csv的写入

1通过创建writer对象,主要用到2个方法。一个是writerow,写入一行。另一个是writerows写入多行

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

import csv

# 数据
person = [('xxx', 1, 93), ('yyy', 8, 182), ('zzz', 9, 18)]
# 表头
header = ['name', 'data', 'num']

with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    #newline=''减少空白行,不用这句话的情况下会中间隔行显示数据
    # 创建对象
    writer = csv.writer(file_obj)
    # 写表头
    writer.writerow(header)
    # 遍历,将每一行的数据写入csv
    for p in person:
        writer.writerow(p)

一次写入多行:

import csv

# 数据
person = [('xxx', 8, 93), ('yyy', 8, 182), ('zzz', 1, 15)]
# 表头
header = ['name', 'data', 'num']

with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
    # 创建对象
    writer = csv.writer(file_obj)
    # 写表头
    writer.writerow(header)
    # 遍历,将每一行的数据写入csv
    for p in person:
        writer.writerows(p)

字典格式:使用DictWriter可以使用字典的方式将数据

csv的读取
通过reader()读取

import csv
with open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.创建reader对象
    reader = csv.reader(file_obj)
    print(reader)

如果直接打印会返回csv.reader对象,这时需要遍历列表

遇到了这样的结果>>>>>>>><_csv.reader object at 0x000001FB8CE655F8>

改正代码:

import csv

with open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.创建reader对象
    reader = csv.reader(file_obj)
    # 2.遍历进行读取数据
    for r in reader:
        print(r)


如果想打印列表的某一个值,可以使用索引打印

print(r[0])

通过dictreader()读取

import csv

with open('person.csv', 'r', encoding='utf-8') as file_obj:
    # 1.创建reader对象
    dictReader = csv.DictReader(file_obj)
    # 2.遍历进行读取数据
    for r in dictReader:
        print(r)


返回结果如下:

OrderedDict([('name', 'x'), ('data', '1'), ('num', '13')])
OrderedDict([('name', 'y'), ('data', '8'), ('num', '82')])
OrderedDict([('name', 'z'), ('data', '9'), ('num', '18')])

如果要取到某一个值就需要指定键去寻找值

print(r['name'])

输出:
x
y
z
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值