一、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對象,該對象主要負責對給類文件對象中用戶的數據轉化成分隔的字符串