python讀 python讀寫csv檔案

2021-10-10 02:29:58 字數 3023 閱讀 4543

今天閒來無事,寫了會csv,簡單總結下csv具體操作

什麼是csv

逗號分隔值(comma-separated values,csv,有時也稱為字元分隔值,因為分隔字元也可以不是逗號),其檔案以純文字形式儲存**資料(數字和文字)

讀csv檔案

1、首先匯入csv模板

2、建立乙個csv檔案物件

3、開啟檔案進行讀取

**結果:

['測試1', '軟體測試工程師']

['測試2', '軟體測試工程師']

['測試3', '軟體測試工程師']

['測試4', '軟體測試工程師']

['測試5', '軟體測試工程師']

寫入csv檔案

1、首先匯入csv模組

2、建立乙個csv檔案物件

3、進行寫入csv檔案

#coding:utf-8

importcsv

data=[

("測試1",'軟體測試工程師'),

("測試2",'軟體測試工程師'),

("測試3",'軟體測試工程師'),

("測試4",'軟體測試工程師'),

("測試5",'軟體測試工程師'),

f= open('222.csv','w')

writer=csv.writer(f)for i indata:

writer.writerow(i)

f.close()

寫入後開啟檔案發現亂碼了

解決方法:

1、匯入codecs模組

2、使用cpdecs開啟檔案

#coding:utf-8

importcsvimportcodecs

data=[

("測試1",'軟體測試工程師'),

("測試2",'軟體測試工程師'),

("測試3",'軟體測試工程師'),

("測試4",'軟體測試工程師'),

("測試5",'軟體測試工程師'),

f= codecs.open('222.csv','w','gbk')

writer=csv.writer(f)for i indata:

writer.writerow(i)

f.close()

這個時候發現不會亂碼了

編碼和解碼

csv檔案其他用法

csv.dictreader()用法:

# 將csv 資料讀進列表中(首先查詢是否使用給定欄位名,如果沒有,就是用第一行作為鍵)

#coding:utf-8

importcsv

data=[

("測試1",'軟體測試工程師1'),

("測試3",'軟體測試工程師3'),

("測試4",'軟體測試工程師4'),

("測試5",'軟體測試工程師5'),

f1= open('222.csv','r')

reader=csv.dictreader(f1)for i inreader:print(i)

f1.close()

**結果:

[('測試1', '測試3'), ('軟體測試工程師1', '軟體測試工程師3')]

[('測試1', '測試4'), ('軟體測試工程師1', '軟體測試工程師4')]

[('測試1', '測試5'), ('軟體測試工程師1', '軟體測試工程師5')]

csv.dictwriter()用法

#直接字典字段寫入到csv檔案中#coding:utf-8

importcsv

data=

with open('123.csv','w')as f:

fieldnames= #表頭

writer = csv.dictwriter(f,fieldnames=fieldnames)

writer.writeheader()

writer.writerow(data)

結果:

發現上面寫入後中間多了一行,如何解決這一行呢?

加入引數"enwline="』」

#coding:utf-8

importcsv

data= #加入引數"enwline=''」

寫讀追加狀態

'r':讀

'w':寫

'a':追加

'r+' == r+w(可讀可寫,檔案若不存在就報錯(ioerror))

'w+' == w+r(可讀可寫,檔案若不存在就建立)

'a+' ==a+r(可追加可寫,檔案若不存在就建立)

對應的,如果是二進位制檔案,就都加乙個b就好啦:

'rb'  'wb'  'ab'  'rb+'  'wb+'  'ab+'

python讀檔案 python 檔案讀寫)

writefile test.txt 先自己寫乙個模組。這是乙個中文文件 第二行第三行 第四行 讀這個檔案有兩種方法 可以是f open test.txt 然後 f.read 這樣就讀取檔案裡的所有東西了。然後?f.close 就樣這個檔案便關閉了。還有就是f.readlines 一行一行的讀,這樣...

python 讀txt python讀寫txt檔案

整理平常經常用到的檔案物件方法 f.readline 逐行讀取資料 方法一 1 f open tmp test.txt 2 f.readline 3 hello girl 4 f.readline 5 hello boy 6 f.readline 7 hello man 8 f.readline 9...

python讀csv python讀寫csv檔案

1匯入相關包 importosimportreimportcsv 1讀取csv檔案 def read csv filename,header false res with open filename as f f csv csv.reader f if header 預設讀取頭部檔案 headers...