python 寫入CSV出現空白行問題及拓展

2022-05-06 05:57:06 字數 1291 閱讀 6990

最近在學習python,要求讓出**。期間在不懂得情況下,寫了些**,執行後發現存在輸入寫入猴行之間存在空白行。猴發現原來問題在開啟檔案的方式不對。

現將我的學習交流經驗分享如下:

1,自己的起初**:

#coding=utf-8

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)

2,執行後結果顯示:

小夥伴們清楚看到,行之間存在資料空白行吧。

問題診斷:

這就是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...