open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)app
參數 file 是文件名稱,如‘file.txt’ ;mode 是對文件打開的模式,其餘參數通常不用。函數
函數 open 的參數解釋:編碼
在open函數中默認爲只讀。其餘模式還有:spa
w:以寫方式打開指針
a:以追加模式打開excel
r+:以讀寫模式打開code
w+:以讀寫模式打卡對象
rb:以二進制讀模式打開blog
wb:以二進制寫模式打開字符串
ab:以二進制追加模式打開
rb+:以二進制讀寫模式打開
wb+:以二進制讀寫模式打開
ab+:以二進制追加模式打開
open 對象的經常使用方法:
read():讀取字節到字符串中
readline():打開文件的一行,包括行結束符
readline():打開文件,讀取全部行
write():將字符串寫入文件,寫入對象爲字符串
writelines():將列表寫入文件,對象是列表。
seek():偏移量
tell():返回當前文件指針的位置
須要模塊 csv ,讀寫函數:
讀取函數
reader(csvfile, dialect='excel', **fmtparams)
參數說明:
csvfile,必須是支持迭代(Iterator)的對象,能夠是文件(file)對象或者列表(list)對象,若是是文件對象,打開時須要加"b"標誌參數。
dialect,編碼風格,默認爲excel的風格,也就是用逗號(,)分隔,dialect方式也支持自定義,經過調用register_dialect方法來註冊,下文會提到。
fmtparam,格式化參數,用來覆蓋以前dialect對象指定的編碼風格。
寫函數
writer(csvfile, dialect='excel', **fmtparams)
參數意義同上。
reader = open('data.txt') list_data = reader.readlines() columns = list_data [0].split() list = [] for i in list_data [1:]: list.append(i.split()) with open("test.csv","wb") as csvfile: writer = csv.writer(csvfile) #先寫入columns_name writer.writerow(columns) #寫入多行用writerows writer.writerows(list)
對寫入數據的解析:
首先open()函數打開當前路徑下的名字爲'test.csv'的文件,若是不存在這個文件,則建立它,返回csvfile文件對象。
csv.writer(csvfile)返回writer對象myWriter。
writerow()方法是一行一行寫入,writerows方法是一次寫入多行。
注意:若是文件'test.csv'事先存在,調用writer函數會先清空原文件中的文本,再執行writerow/writerows方法。