最近在學習python,要求讓出**。期間在不懂得情況下,寫了些**,執行後發現存在輸入寫入猴行之間存在空白行。猴發現原來問題在開啟檔案的方式不對。
現將我的學習交流經驗分享如下:
1,自己的起初**:
#coding=utf-82,執行後結果顯示:import string
import csv
resultlist = [,,,
]csvfile = open("d:/data/data/3.csv", "w")
# 檔案頭以列表的形式傳入函式,列表的每個元素表示每一列的標識
fileheader = ['合計',"國有","集體"]
dict_writer = csv.dictwriter(csvfile, fileheader)
dict_writer.writeheader()
dict_writer.writerows(resultlist)
小夥伴們清楚看到,行之間存在資料空白行吧。
問題診斷:
這就是w 和 wb的區別,w是以文字方式開啟檔案,wb是二進位制方式開啟檔案,以文字方式開啟檔案時,fwrite函式每碰到乙個0x0a時,就在它的前面加入0x0d.其它內容不做新增操作。
拓展演示:
r 以唯讀方式開啟檔案,該檔案必須存在。
r+ 以可讀寫方式開啟檔案,該檔案必須存在。
rb+ 讀寫開啟乙個二進位制檔案,只允許讀寫資料。
rt+ 讀寫開啟乙個文字檔案,允許讀和寫。
w 開啟只寫檔案,若檔案存在則檔案長度清為0,即該檔案內容會消失。若檔案不存在則建立該檔案。
w+ 開啟可讀寫檔案,若檔案存在則檔案長度清為零,即該檔案內容會消失。若檔案不存在則建立該檔案
a 以附加的方式開啟只寫檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾,即檔案原先內容會被保留。(eof符保留)
a+ 以附加方式開啟可讀寫的檔案。若檔案不存在,則會建立該檔案,如果檔案存在,寫入的資料會被加到檔案尾後,即檔案原先的內容會被保留。
wb 只寫開啟或新建乙個二進位制檔案;只允許寫資料。
wb+ 讀寫開啟或建立乙個二進位制檔案,允許讀和寫。
wt+ 讀寫開啟或著建立乙個文字檔案;允許讀寫。
at+ 讀寫開啟乙個文字檔案,允許讀或在文字末追加資料。
ab+ 讀寫開啟乙個二進位制檔案,允許讀或在檔案末追加資料。
修改後:
靜以修身,儉以養德 --文正公訓言
Python寫入csv檔案時出現空行
import csv flow open my csv file.csv,w csv writer csv.writer flow for line in lines csv writer.writerow line 這樣的一段 執行結束後,發現寫入的csv檔案中很多空行,準確的說是寫一行空一行。解...
python使用csv寫入csv檔案
沒什麼好說的,直接上 吧 with open file.csv w encoding utf 8 newline as csvfile writer csv.writer csvfile 首先是表頭 writer.writerow id name gender birthday rating 然後是...
python資料寫入CSV
下面我將介紹什麼時候適合使用pandas,什麼時候適合使用csv庫。主要區別是乙個按行儲存方便,乙個按列訪問方便。假設第一列為 1,1,1,1 第二列為 2,2,2,2 第三列的值為 3,3,3 列名 表頭名字 為column1,column2,column3。如下 import pandas as...