首页
学习
活动
专区
圈层
工具
发布

Python读写CSV文件

csv模块方法

csv.reader

代码语言:javascript
复制
import csv   
with open('temp.csv','rb') as f:    
    reader = csv.reader(f)    
    for row in reader:    
        print row

csv.writer

代码语言:javascript
复制
import csv   
with open('temp.csv','wb') as f:    
    writer = csv.writer(f)    
    writer.writerow(['a','b','c'])    
    writer.writerow(['d','e','f'])

csv模块类

csv.DictReader

代码语言:javascript
复制
import csv   
with open('temp.csv') as f:    
    reader = csv.DictReader(f)    
    for row in reader    
        print(row['first_name'],row['last_name'])

csv.DictWriter

代码语言:javascript
复制
import csv
with open('temp.csv','w') as f:
    fieldnames = ['first_name','last_name']
    writer = csv.DictWriter(f, fieldnames=fieldnames)
    
    writer.writeheader()
    writer.writerow({'first_name':'ryan', 'last_name':'xu'})
    writer.writerow({'first_name':'koko', 'last_name':'xu'})

csv模块异常

csv.Error

代码语言:javascript
复制
import csv, sys   
filename = 'some.csv'    
with open(filename, 'rb') as f:    
    reader = csv.reader(f)    
    try:    
        for row in reader:    
            print row    
    except csv.Error as e:    
        sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))

读对象(DictReader实例和reader()函数返回的对象)公共方法

代码语言:javascript
复制
csvreader.next()   
csvreader.line_num    
csvreader.fieldnames

写对象(DictWriter实例和writer()函数返回的对象)公共方法

代码语言:javascript
复制
csvwriter.writerow(row)   
csvwriter.writerows(rows)    
csvwriter.writeheader()
下一篇
举报
领券