csv(comma-separated values)即逗號分隔值,可以用excel開啟檢視。由於是純文字,任何編輯器也都可開啟。與excel檔案不同,csv檔案中:
值沒有型別,所有值都是字串,不能指定字型顏色等樣式,不能指定單元格的寬高,不能合併單元格沒有多個工作表,不能嵌入影象圖表
在csv檔案中,以,作為分隔符,分隔兩個單元格。像這樣a,,c表示單元格a和單元格c之間有個空白的單元格。依此類推。
不是每個逗號都表示單元格之間的分界。所以即使csv是純文字檔案,也堅持使用專門的模組進行處理。python內建了csv模組。先看看乙個簡單的例子。
」將data內容寫入csv檔案,如下圖所示:
1第二步執行py檔案之後,我們可以看到d盤已經建立了test.csv檔案,如下圖所示:import
csv2 data =[3#
使用數字和字串的數字都可以
4 ("
ken","
mafe
",23),
5 ("
tame
","maee
",29),
6 ("
js","
dggd
",26)]
7 with open("
d:",'w
',newline=''
)as t_file:
8 csv_writer =csv.writer(t_file)
9for l in
data:
10 csv_writer.writerow(l)
第三步開啟test.csv檔案,可以看到已經將內容寫入到csv檔案中了:
上面就簡單介紹了csv的寫,下面來看一下csv讀的方法:
第一步,輸入
1第二步執行py檔案,可以看到讀取了csv檔案內容,這裡需要注意的是如果直接將excel**字尾名改為csv檔案,讀取的時候,會出現編碼錯誤import
csv2 reader =csv.reader(open('
d:'))#開啟3
for list in
reader:
4print(list)
在上面,list是乙個列表,如果想要檢視固定的某列,則需要加上下標,例如我想要檢視age,那麼只需要改為list[1]
補充:
在寫入字典序列型別資料的時候,需要傳入兩個引數,乙個是檔案物件——f,乙個是欄位名稱——fieldnames,到時候要寫入表頭的時候,只需要呼叫writerheader方法,寫入一行字典系列資料呼叫writerrow方法,並傳入相應字典引數,寫入多行呼叫writerows
1再開啟test.csv結果如下:import
csv2 header=['
name
','age']
3 data =[
4 ,5 ,
6 ]7 with open("
d:\\test.csv
",'w
',newline=''
)as t_file:8#
表頭在這裡傳入,作為第一行資料
9 writer =csv.dictwriter(t_file,header)
10writer.writeheader()
11for l in
data:
12 writer.writerow(l)
假設csv檔案的內容如上圖圖所示,用dictreader來讀取它
dictreader會將第一行的內容(類標題)作為key值,第二行開始才是資料內容。即圖中的csv檔案有2列4行資料,第一列的key值為name,第二列的key值為age:
1執行結果如下:import
csv2 with open('
d:',encoding='
utf-8
')as f:
3 reader =csv.dictreader(f)#
字典表 dictreader 列表讀取
4 headers =next(reader)#
迭代一次
5print
(headers)
6for row in
reader:
7print(row)
read方法的使用:列印出來的結果是陣列型別,有檔案中幾行資料就列印幾個陣列,不區分表頭和值
dictreader方法的使用:列印出來的資料是字典型別,**的表頭為鍵、每一行的值為值,值有幾行就列印幾個字典
python操作 csv檔案
需求 將a.csv中,相同手機號,只要有乙個傳送成功,則其餘改為傳送成功 遍歷軟體執行的資料夾 path dir os.getcwd for root,dirs,files in os.walk path dir for file in files if file.endswith csv f op...
python操作csv檔案
看上去不像是最優的樣子,可以改善 import csv csvfile open sentence lenth data.csv r encoding utf8 使用utf8格式讀取,windows預設讀取方式gbk reader csv.reader csvfile 讀取的是整張表 行 列 for...
Python操作csv檔案
一 python讀取csv檔案 說明 以python3.x為例2 讀取csv檔案方法1 3import csv4 csvfile open csvwrite.csv newline 開啟乙個檔案 5 csvreader csv.reader csvfile 返回的可迭代型別 6print type ...