python 操作csv文件

1.什么是CSV格式文档

  所谓“CSV”,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件。通常CSV文件开头是不留空的,以行为单位,每行记录多项数据,每项数据用逗号 来分隔(标准英文逗号)

2.Python 的csv模块封装了常用的操作csv文件的功能。

 

写文件,把列表写入文件中其中writerow是将列表写在一行上,writerows是将列表迭代写在多行中。

import csv
list1 = ['a', 'b','c','d']
out = open("data.csv", 'w')
csv_writer = csv.writer(out)
csv_writer.writerow(list1)

读文件,会将文件的内容以列表的格式打印到控制台

import csv
csv_reader = csv.reader(open('mycsvfile'))
for row in csv_reader:
    print(row)

默认的情况下, 读和写使用逗号做分隔符(delimiter),用双引号作为引用符(quotechar),当遇到特殊情况是,可以根据需要手动指定字符,

 

字典方式读写

  格式

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('myfile.csv', 'w') as csvfile:
    fieldnames = ['title1', 'title2']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    writer.writerow({'title1': 'name1', 'title2': 'test1'})
    writer.writerow({'title1': 'name2', 'title2': 'test2'})
    writer.writerow({'title1': 'name3', 'title2': 'test3'})

  读

import csv
with open('myfile.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    for row in reader:
        print(row['title1'], row['title2'])

 

 

参考资料

 

posted @ 2017-07-06 14:37  sea101  阅读(313)  评论(0编辑  收藏  举报