一、Python内置子產品CSV
CSV,即逗号分隔值(也稱字元分隔值,因為分隔符可以不是逗号),是一種常用的文本格式,用以存儲表格資料,包括數字或者字元。如下圖所示:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SM4gjN2EGOjZzMhBTO3QmYyYzX4UDMygTMwMzLcZDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
CSV類似于Excel格式
很多程式在處理資料時都會碰到csv這種格式的檔案,它的使用是比較廣泛的,csv雖然使用廣泛,但卻沒有通用的标準,是以在處理csv格式時常常會碰到麻煩,幸好python内置了csv子產品。
二、CSV實操
執行個體1:讀取CSV檔案
1 import csv
2 #讀取csv第一種方式
3 csvfile = open('budaoguan.csv','r')
4 # 傳回疊代類型
5 reader = csv.reader(csvfile)
6 print(reader)
7
8 # 定義清單
9 data = []
10 # 周遊csv檔案
11 for row in reader:
12 print(row)
13 data.append(row)
14 # 輸出清單
15 print(data)
16 print(data[0][1])
#讀取csv第一種方式
執行個體2:讀取并寫入CSV檔案
讀取csv第二種方式
<_csv.reader object at 0x0000000001DF0C78>
['fu', '123456', '1111']
['fuguang', '123456', '1111']
['fuguangli', '123456', '1111']
[['fu', '123456', '1111'], ['fuguang', '123456', '1111'], ['fuguangl', '123456', '1111']]
123456
運作結果
執行個體3:字典寫入CSV檔案方法一清單寫入和方法二字典寫入
1 # 向CSV檔案寫入資料方法一:清單寫入
2 data=[['test1', '123456'], ['test2', '123457'], ['test3', '123458'], ['test4', '123459']]
3 # csvfile=open('data.csv','w') #csv寫入檔案,預設會加換行
4 csvfile=open('data.csv','w',newline='')# 加 newline='' 取消換行
5 writer=csv.writer(csvfile)
6 for i in range(len(data)):
7 writer.writerow(data[i])
向CSV檔案寫入資料方法一:清單寫入
1 # 向CSV檔案寫入資料方法二:字典寫入
2 dic={'zhangsan':123456,'lisi':'222222','wangwu':'3333'}
3 csvfile=open('data.csv','w',newline='')
4 writer=csv.writer(csvfile)
5 for key in dic:
6 writer.writerow([key,dic[key]])
7
8 csvfile.close()
向CSV檔案寫入資料方法二:字典寫入
三、try與with語句的不同