<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字元分隔值,因為分隔字元也可以不是逗號),其檔案以純文字形式儲存表格資料(數位和文字)。純文字意味著該檔案是一個字元序列,不含必須像二進位制數位那樣被解讀的資料。CSV檔案由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由欄位組成,欄位間的分隔符是其它字元或字串,最常見的是逗號或製表符。通常,所有記錄都有完全相同的欄位序列。通常都是純文字檔案。
在Linux中我們可以通過命令在資料庫中把表匯出來為csv結尾的檔案,其實就是以逗號分割分txt檔案,此檔案我們可以在windows中開啟並且為表格的形式,方便我們進行檢視與再次操作。
eg:
MariaDB [test]> select * from 表名 into outfile "/tmp/test.csv" fields terminated by ",";
注意:這裡我是把csv檔案和python程式碼都放在同級目錄,否則要指定路徑!!!
(1)這裡我們以windows中的csv檔案來做實驗
(2)我們可以選中內容複製進去,也可以上傳到linux中,這裡我們選擇前者
[root@python _test]# vim test.csv ###可以發現複製進去的是以空格為分隔符 id username passwd age 1 dream1 123 21 2 dream2 456 22 3 dream3 789 23 ### 把空格替換為逗號 [root@python _test]# sed -i 's/s+/,/g' test.csv
(1)讀出結果
[root@python _test]# vim _test.py #!/usr/bin/env python #coding:utf-8 import csv with open('test.csv', encoding="utf-8") as f: reader = csv.reader(f) print(reader) print(list(reader)) ### 檢視結果 [root@python _test]# python _test.py <_csv.reader object at 0x7f54d9a01eb8> [['id', 'username', 'passwd', 'age'], ['1', 'dream1', '123', '21'], ['2', 'dream2', '456', '22'], ['3', 'dream3', '789', '23']]
(2)遍歷(從第一行讀取)
[root@python _test]# vim _test.py #!/usr/bin/env python #coding:utf-8 import csv with open('test.csv', encoding="utf-8") as f: reader = csv.reader(f) for i in reader: print(reader.line_num, i) ### 檢視結果 [root@python _test]# python _test.py 1 ['id', 'username', 'passwd', 'age'] 2 ['1', 'dream1', '123', '21'] 3 ['2', 'dream2', '456', '22'] 4 ['3', 'dream3', '789', '23']
(2)遍歷(從第二行讀取)
[root@python _test]# vim _test.py #!/usr/bin/env python #coding:utf-8 import csv with open('test.csv', encoding="utf-8") as f: reader = csv.reader(f) ### 這個就是我們得表頭 next(reader) for i in reader: print(reader.line_num, i) ### 檢視結果 [root@python _test]# python _test.py 2 ['1', 'dream1', '123', '21'] 3 ['2', 'dream2', '456', '22'] 4 ['3', 'dream3', '789', '23']
(1)檢視
[root@python _test]# vim _test.py #!/usr/bin/env python #coding:utf-8 import csv with open('test.csv', encoding="utf-8") as f: reader = csv.DictReader(f) ### 表頭 print (reader.fieldnames) print (reader,type(reader)) for i in reader: print (i) ### 檢視結果 [root@python _test]# python _test.py ['id', 'username', 'passwd', 'age'] <csv.DictReader object at 0x7f3b02213a20> <class 'csv.DictReader'> OrderedDict([('id', '1'), ('username', 'dream1'), ('passwd', '123'), ('age', '21')]) OrderedDict([('id', '2'), ('username', 'dream2'), ('passwd', '456'), ('age', '22')]) OrderedDict([('id', '3'), ('username', 'dream3'), ('passwd', '789'), ('age', '23')])
(2)檢視第一列(id)
優點:我們不知道表頭在具體那列,我們可以通過表頭名來獲取整列資料,即我們可以隨便調整順序也不會影響我們的資料讀取!!!
[root@python _test]# vim _test.py #!/usr/bin/env python #coding:utf-8 import csv with open('test.csv', encoding="utf-8") as f: reader = csv.DictReader(f) for i in reader: print (i['id']) ### 檢視結果 [root@python _test]# python _test.py 1 2 3
[root@python _test]# vim _test.py #!/usr/bin/env python #coding:utf-8 import csv li = [["id","user","性別"],["1","dreamya1","男"],["2","dreamya2","女"]] with open('user.csv', 'w', newline='') as f: writer = csv.writer(f) for i in li: writer.writerow(i) ### 檢視結果 [root@python _test]# python _test.py [root@python _test]# cat user.csv id,user,性別 1,dreamya1,男 2,dreamya2,女
下載到windows中檢視:
[root@python _test]# sz user.csv
[root@python _test]# vim _test.py import csv #coding:utf-8 headers = ['id', 'username','passwd'] li = [{'id':'1','username':'dream1','passwd':'123'}, {'id':'2','username':'dream2','passwd':'456'}, ] with open('user.csv', 'w', newline='') as f: ### 表頭傳入 writer = csv.DictWriter(f, headers) writer.writeheader() ### 一行一行寫入 for i in li: writer.writerow(i) ### 直接把li寫入(多行) writer.writerows(li) ### 檢視結果 [root@python _test]# python _test.py [root@python _test]# cat user.csv id,username,passwd 1,dream1,123 2,dream2,456 1,dream1,123 2,dream2,456
windows中檢視:
[root@python _test]# sz user.csv
到此這篇關於Python中CSV檔案(逗號分割)的文章就介紹到這了,更多相關Python CSV檔案逗號分割內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45