小編寫這篇文章的主要目的,主要還是給大家講解一下關于Python中CSV文件的相關內容,教給怎么樣去對大批量的數據,去進行分割。比如如何分割CSV文件呢?下面給大家詳細解答一下。
一、csv文件介紹
1、csv文件簡介
逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數字那樣被解讀的數據。CSV文件由任意數目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組
成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。
2、為什么要使用csv文件
在Linux中我們可以通過命令在數據庫中把表導出來為csv結尾的文件,其實就是以逗號分割分txt文件,此文件我們可以在windows中打開并且為表格的形式,方便我們進行查看與再次操作。
eg:
MariaDB[test]>select*from表名into outfile"/tmp/test.csv"fields terminated by",";
二、csv文件查看
注意:這里我是把csv文件和python代碼都放在同級目錄,否則要指定路徑!!!
1、測試文件創建
(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
2、查看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']
3、查看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.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
4、寫入文件(列表)
[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
5、寫入文件(字典)
[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
綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家帶來幫助。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/128360.html
csv文件其實就是單純的儲存文本數據的一種形式,那么,在日常的辦公當中,要怎么做去提高其辦公的效率呢?比如,如何使用Python去批量的進行處理文件,批量的處理csv文件,怎么將編碼轉換成為YTF-8的形式呢?下面給大家詳細的解答下。 當我們用pandas是操作CSV文件的時候,常常會因為編碼問題出現報錯。 pandas_libsparsers.pyx in pandas._libs.pa...
小編寫這篇文章的主要目的,主要是講解一下關于Python的一些知識,比如教大家怎么能夠實時的去進行寫入數據,提高工作的效率,關于其具體的代碼,下面小編給大家詳細解答下。 之前在做數據分析的時候,我們需要處理大量高并發的數據,比如對新的數據去進行處理,那么,怎么處理呢?下面給大家進行一個詳細的解答。 1:實時向csv文件寫入數據 假設需要生成一張csv表,里面的字段對應一些數據,由于后續的...
小編寫這篇文章的一個主要目的,主要是給大家去做一個解答,解答的內容主要是Python相關知識,比如說,會給大家講解怎么樣去利用Python pandas去做一個讀取,讀取的是csv數據,然后將這些數據去做一個繪圖處理,具體內容下面給大家詳細解答。 如何利用pandas讀取csv數據并繪圖 導包,常用的numpy和pandas,繪圖模塊matplotlib, importmatplotli...
小編寫這篇文章的主要目的,主要是給大家做一個解答,解答有幾個方向,包括利用python合并csv文件的一些相關實例,下面就給大家做出一個解答。 1.用concat方法合并csv 將兩個相同的csv文件進行數據合并,通過pandas的read_csv和to_csv來完成,即采用concat方法: #加載第三方庫 importpandasaspd importnumpyasnp #...
小編寫這篇文章的一個主要目的,主要是去給大家去做一些相關的一些介紹,涉及到內容的還是比較多的,比如如何去進行讀取千萬級的一些數據,并且將這些數據去自動錄入到系統里面。錄入到系統里面之后,怎么才能夠導入到MySQL數據庫呢?下面就給大家詳細解答下。 序言 Python數據如何去進行讀取MySQL數據庫呢?這類工作在生活當中是比較的普遍的,涉及到的內容也是相關的一些python數據庫,包括數據...
閱讀 911·2023-01-14 11:38
閱讀 878·2023-01-14 11:04
閱讀 740·2023-01-14 10:48
閱讀 1983·2023-01-14 10:34
閱讀 942·2023-01-14 10:24
閱讀 819·2023-01-14 10:18
閱讀 499·2023-01-14 10:09
閱讀 572·2023-01-14 10:02