python高频函数—CSV() 读写

Part.1

csv.reader()函数

csv.reader(csvfile, dialect='excel', **fmtparams)

返回一个 reader 对象,该对象将逐行遍历 csvfile。

一个简短的用法示例:

>>> import csv>>> with open('eggs.csv', newline='') as csvfile:...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')...     for row in spamreader:...         print(', '.join(row))Spam, Spam, Spam, Spam, Spam, Baked BeansSpam, Lovely Spam, Wonderful Spam

Part.2

csv.writer()函数

csv.writer(csvfile, dialect='excel', **fmtparams)

返回一个 writer 对象,该对象负责将用户的数据在给定的文件类对象上转换为带分隔符的字符串。

一个简短的用法示例:

import csvwith open('eggs.csv', 'w', newline='') as csvfile:    spamwriter = csv.writer(csvfile, delimiter=' ',                            quotechar='|', quoting=csv.QUOTE_MINIMAL)    spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])    spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])

Part.3

csv.DictReader()函数

csv.DictReader(f, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)

创建一个对象,该对象在操作上类似于常规 reader,但是将每行中的信息映射到一个 dict,该 dict 的键由 fieldnames 可选参数给出。 fieldnames 参数是一个 sequence。如果省略 fieldnames,则文件 f 第一行中的值将用作字段名。无论字段名是如何确定的,字典都将保留其原始顺序。

一个简短的用法示例:

>>> import csv>>> with open('names.csv', newline='') as csvfile:...     reader = csv.DictReader(csvfile)...     for row in reader:...         print(row['first_name'], row['last_name'])...Eric IdleJohn Cleese
>>> print(row){'first_name': 'John', 'last_name': 'Cleese'}

Part.4

csv.DictWriter()函数

csv.DictWriter(f, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)

创建一个对象,该对象在操作上类似常规 writer,但会将字典映射到输出行。fieldnames 参数是由键组成的 序列,它指定字典中值的顺序,这些值会按指定顺序传递给 writerow() 方法并写入文件 f。注意,与 DictReader 类不同,DictWriter 类的 fieldnames 参数不是可选参数。

一个简短的用法示例:

import csv
with open('names.csv', 'w', newline='') as csvfile:    fieldnames = ['first_name', 'last_name']    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})
传入的是字典,keys值是表头

更多内容:

https://mp.weixin.qq.com/s/sKqzVUZlq3uiqhhW_XIejgicon-default.png?t=N5K3https://mp.weixin.qq.com/s/sKqzVUZlq3uiqhhW_XIejg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值