您好,登錄后才能下訂單哦!
只做簡單地記錄,方便一下使用!python關于csv模塊的介紹網上有很多資料,這里就不在贅訴。直接給出代碼和解釋。
數據:
Symbol,Price,Date,Time,Change,Volume "AA",39.48,"6/11/2007","9:36am",-0.18,181800 "AIG",71.38,"6/11/2007","9:36am",-0.15,195500 "AXP",62.58,"6/11/2007","9:36am",-0.46,935000 "BA",98.31,"6/11/2007","9:36am",+0.12,104800 "C",53.08,"6/11/2007","9:36am",-0.25,360900 "CAT",78.29,"6/11/2007","9:36am",-0.23,225400
一、csv讀入文件消除空余行
import csv #@param: wb:覆蓋原來的文件內容 #@param: ab+:追加文件內容 with open('input.csv','wb') as f: f_csv = csv.writer(f) f_csv.writerow(headers) #讀入項目標簽名 # f_csv.writerows(rows) id = 1 for row in rows: row = list(row) #轉換成list,因為原始是tupple row.insert(0,id) #根據特定的題目要求! f_csv.writerow(row) id += 1
二、讀取為一個元組的序列
import csv with open('stocks.csv') as f: f_csv = csv.reader(f) headers = next(f_csv) for row in f_csv: # Process row ...
在上面的代碼中, row 會是一個列表。因此,為了訪問某個字段,你需要使用下標,如 row[0] 訪問Symbol, row[4] 訪問Change。
三、將數據讀取到一個字典序列中
mport csv with open('stocks.csv') as f: f_csv = csv.DictReader(f) for row in f_csv: # process row ...
在這個版本中,你可以使用列名去訪問每一行的數據了。比如,row['Symbol'] 或者 row['Change']。
四、寫入數據
為了寫入CSV數據,你仍然可以使用csv模塊,不過這時候先創建一個 writer 對象。例如:
rows = [('AA', 39.48, '6/11/2007', '9:36am', -0.18, 181800), ('AIG', 71.38, '6/11/2007', '9:36am', -0.15, 195500), ('AXP', 62.58, '6/11/2007', '9:36am', -0.46, 935000), ] with open('stocks.csv','w') as f: f_csv = csv.writer(f) f_csv.writerow(headers) f_csv.writerows(rows)
如果你有一個字典序列的數據,可以像這樣做:
headers = ['Symbol', 'Price', 'Date', 'Time', 'Change', 'Volume'] rows = [{'Symbol':'AA', 'Price':39.48, 'Date':'6/11/2007', 'Time':'9:36am', 'Change':-0.18, 'Volume':181800}, {'Symbol':'AIG', 'Price': 71.38, 'Date':'6/11/2007', 'Time':'9:36am', 'Change':-0.15, 'Volume': 195500}, {'Symbol':'AXP', 'Price': 62.58, 'Date':'6/11/2007', 'Time':'9:36am', 'Change':-0.46, 'Volume': 935000}, ] with open('stocks.csv','w') as f: f_csv = csv.DictWriter(f, headers) f_csv.writeheader() f_csv.writerows(rows)
寫入數據最麻煩的問題就是無緣無故的每行數據結束后都會自動多出一個空行的問題。這就是寫這篇文章的意義,處理方法就是《一》中的介紹的內容。
以上這篇Python用csv寫入文件_消除空余行的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。