寫csv檔案 Python讀寫CSV

2021-10-14 20:00:47 字數 2959 閱讀 6764

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

1、首先匯入csv模板

2、建立乙個csv檔案物件

3、開啟檔案進行讀取

**結果:

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

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

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

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

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

1、首先匯入csv模組

2、建立乙個csv檔案物件

3、進行寫入csv檔案

# coding:utf-8import csv

data = [

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

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

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

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

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

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

writer = csv.writer(f)for i in data:

writer.writerow(i)

f.close()

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

解決方法:

1、匯入codecs模組

2、使用cpdecs開啟檔案

# coding:utf-8import csvimport codecs

data = [

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

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

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

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

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

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

writer = csv.writer(f)for i in data:

writer.writerow(i)

f.close()

這個時候發現不會亂碼了

csv.dictreader()用法:

# 將csv資料讀進列表中# coding:utf-8import csv

data = [

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

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

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

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

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

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

f1.close()

**結果:

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

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

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

csv.dictwriter()用法

# 直接字典字段寫入到csv檔案中

# coding:utf-8import csv

data =

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

fieldnames = # 表頭

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

writer.writeheader()

writer.writerow(data)

結果:

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

加入引數「enwline=『』」

# coding:utf-8

import csv

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

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

fieldnames =

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

writer.writeheader()

writer.writerow(data)

'r':讀

'w':寫

'a':追加

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

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

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

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

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

Python讀寫csv檔案

1.寫入並生成csv檔案 coding utf 8 import csv csvfile file csv test.csv wb writer csv.writer csvfile writer.writerow 姓名 年齡 data 小河 25 1234567 小芳 18 789456 writ...

python 讀寫csv檔案

1.忽略第一行標題的基礎上 python2.7 coding utf 8 import csv csv reader csv.reader open r c users thinkpad desktop tweets.csv for row in csv reader 條件語句忽略第一行檔案資料 i...

python 讀寫csv檔案

1.將dataframe資料寫入csv 1 用 csv包一行一行的寫入 import csv python2可以用file替代open with open test.csv w as csvfile writer csv.writer csvfile 先寫入columns name writer.w...