Python CSV模块简介
来源:互联网 发布:淘宝怎样绑定手机号 编辑:程序博客网 时间:2024/06/09 16:45
常用读写功能
import csvwith open('some.csv', 'rb') as f: # 采用b的方式处理可以省去很多问题 reader = csv.reader(f) for row in reader: # do something with row, such as row[0],row[1]import csvwith open('some.csv', 'wb') as f: # 采用b的方式处理可以省去很多问题 writer = csv.writer(f) writer.writerows(someiterable)
分隔符指定
import csvwith open('passwd', 'rb') as f: reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE) for row in reader: print row
上述示例指定冒号作为分隔符,并且指定quote方式为不引用。这意味着读的时候都认为内容是不被默认引用符(“)包围的。quoting的可选项为: QUOTE_ALL, QUOTE_MINIMAL, QUOTE_NONNUMERIC, QUOTE_NONE.
有点需要注意的是,当用writer写数据时, None 会被写成空字符串,浮点类型会被调用 repr() 方法转化成字符串。所以非字符串类型的数据会被 str() 成字符串存储。所以当涉及到unicode字符串时,可以自己手动编码后存储或者使用csv提供的 UnicodeWriter, 具体可参见这里。
字典方式地读写
格式如下
class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)class csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)
其中fieldnames指定字典的key值,如果reader里没有指定那么默认第一行的元素,在writer里一定要指定这个。
使用示例
# 读>>> import csv>>> with open('names.csv') as csvfile:... reader = csv.DictReader(csvfile)... for row in reader:... print(row['first_name'], row['last_name'])...Baked BeansLovely SpamWonderful Spam# 写import csvwith open('names.csv', 'w') 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'})
官方文档https://docs.python.org/2/library/csv.html
阅读全文
0 0
- Python CSV模块简介
- Python CSV模块简介
- Python CSV模块简介
- Python csv 模块
- Python的CSV模块
- Python csv模块
- Python csv模块学习
- python csv模块
- Python的CSV模块
- python的CSV模块
- python--csv模块
- Python csv模块
- python中的csv模块
- python csv模块使用
- Python--csv模块
- python csv模块使用
- python csv模块练习
- python使用csv模块读写csv文件
- 简单的断点传送,不需理解,粘贴运行
- 通国轮廓进行抠图 掩膜
- F1
- ECS访问RDS超时504的解决方法
- Android Studio常见问题 -- AndroidManifest.xml 替换别名问题
- Python CSV模块简介
- 超级无敌简单的 Hello world
- java多线程(二)——第二种线程创建方式
- 手机的实例化过程
- GreenDao
- 欢迎使用CSDN-markdown编辑器
- Retrofit + RxJava
- 初入Java
- 其他题目---画匠问题