一、csv模块简介(python3.7)
csv模块实现了很多类,可以用来读写csv格式的表格数据。在不知道Excel文件所用的csv格式的一些具体细节的情况下,该模块可以使得编程人员,将数据以Excel所偏好的格式写入文件,或者读取由Excel生成的文件。
二、csv用来读写序列的reader和writer对象(DicReader和DictWriter类可以读写字典形式的数据)
1、csv.reader(csvfile, dialect='excel', **fmtparams):
该函数返回一个reader对象,该对象可以迭代csv文件中的每一行,csv文件可以是任意支持iteratior协议的对象。每次调用它的__next__()方法(文件对象和列表对象都适用的方法),该对象返回一个字符串。从csv文件读取的每一行,都以列表的形式返回。
参数解释:
csvfile:可以是任何支持迭代器协议的对象,它每次返回一个字符串。如果它是一个文件对象,它应该以newline=''的形式打开(参照样例).
dialect:是一个可选参数,用来定义一个仅针对特定CSV dialect的参数集。它可能是一个Dialect类的子类实例或由list_dialects()返回的多个字符串中的一个。
注意:如果打开的是csv文件,open方法中的参数newline=''。
例子:
>>> 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 Beans Spam, Lovely Spam, Wonderful Spam
或者:
with open(csvFilePath,newline='') as f: reader=csv.reader(f) li=list(reader)
2、csv.writer(csvfile, dialect='excel', **fmtparams):
该函数返回一个writer对象,该对象主要负责对给类文件对象中用户的数据转化成分隔的字符串