成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Python中CSV文件如何分割?下面給大家解答

89542767 / 1370人閱讀

  小編寫這篇文章的主要目的,主要還是給大家講解一下關(guān)于Python中CSV文件的相關(guān)內(nèi)容,教給怎么樣去對大批量的數(shù)據(jù),去進行分割。比如如何分割CSV文件呢?下面給大家詳細解答一下。


  一、csv文件介紹


  1、csv文件簡介


  逗號分隔值(Comma-Separated Values,CSV,有時也稱為字符分隔值,因為分隔字符也可以不是逗號),其文件以純文本形式存儲表格數(shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個字符序列,不含必須像二進制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組


成,字段間的分隔符是其它字符或字符串,最常見的是逗號或制表符。通常,所有記錄都有完全相同的字段序列。通常都是純文本文件。


  2、為什么要使用csv文件


  在Linux中我們可以通過命令在數(shù)據(jù)庫中把表導(dǎo)出來為csv結(jié)尾的文件,其實就是以逗號分割分txt文件,此文件我們可以在windows中打開并且為表格的形式,方便我們進行查看與再次操作。


  eg:

  MariaDB[test]>select*from表名into outfile"/tmp/test.csv"fields terminated by",";


  二、csv文件查看


  注意:這里我是把csv文件和python代碼都放在同級目錄,否則要指定路徑?。?!


  1、測試文件創(chuàng)建


 ?。?)這里我們以windows中的csv文件來做實驗

01.png

 ?。?)我們可以選中內(nèi)容復(fù)制進去,也可以上傳到linux中,這里我們選擇前者


  [root python _test]#vim test.csv###可以發(fā)現(xiàn)復(fù)制進去的是以空格為分隔符
  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文件(列表)


 ?。?)讀出結(jié)果

  [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))
  ###查看結(jié)果
  [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)遍歷(從第一行讀?。?/p>


  [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)
  ###查看結(jié)果
  [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文件(字典)


 ?。?)查看


  [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)
  ###查看結(jié)果
  [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')])


 ?。?)查看第一列(id)


  優(yōu)點:我們不知道表頭在具體那列,我們可以通過表頭名來獲取整列數(shù)據(jù),即我們可以隨便調(diào)整順序也不會影響我們的數(shù)據(jù)讀取?。。?/p>


  [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'])
  ###查看結(jié)果
  [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)
  ###查看結(jié)果
  [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

02.png

  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)
  ###查看結(jié)果
  [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

  

03.png


     綜上所述,這篇文章就給大家介紹到這里了,希望可以給大家?guī)韼椭?/p>

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/128360.html

相關(guān)文章

  • Python如何批量將csv文件編碼方式轉(zhuǎn)換為UTF-8?下面大家解答

      csv文件其實就是單純的儲存文本數(shù)據(jù)的一種形式,那么,在日常的辦公當(dāng)中,要怎么做去提高其辦公的效率呢?比如,如何使用Python去批量的進行處理文件,批量的處理csv文件,怎么將編碼轉(zhuǎn)換成為YTF-8的形式呢?下面給大家詳細的解答下?! ‘?dāng)我們用pandas是操作CSV文件的時候,常常會因為編碼問題出現(xiàn)報錯。  pandas_libsparsers.pyx in pandas._libs.pa...

    89542767 評論0 收藏0
  • 怎么使用Python實時向文件寫入數(shù)據(jù)

      小編寫這篇文章的主要目的,主要是講解一下關(guān)于Python的一些知識,比如教大家怎么能夠?qū)崟r的去進行寫入數(shù)據(jù),提高工作的效率,關(guān)于其具體的代碼,下面小編給大家詳細解答下?! ≈霸谧鰯?shù)據(jù)分析的時候,我們需要處理大量高并發(fā)的數(shù)據(jù),比如對新的數(shù)據(jù)去進行處理,那么,怎么處理呢?下面給大家進行一個詳細的解答?! ?:實時向csv文件寫入數(shù)據(jù)  假設(shè)需要生成一張csv表,里面的字段對應(yīng)一些數(shù)據(jù),由于后續(xù)的...

    89542767 評論0 收藏0
  • Python如何利用pandas讀取csv數(shù)據(jù)并繪圖

      小編寫這篇文章的一個主要目的,主要是給大家去做一個解答,解答的內(nèi)容主要是Python相關(guān)知識,比如說,會給大家講解怎么樣去利用Python pandas去做一個讀取,讀取的是csv數(shù)據(jù),然后將這些數(shù)據(jù)去做一個繪圖處理,具體內(nèi)容下面給大家詳細解答。  如何利用pandas讀取csv數(shù)據(jù)并繪圖  導(dǎo)包,常用的numpy和pandas,繪圖模塊matplotlib,  importmatplotli...

    89542767 評論0 收藏0
  • 利用python合并csv文件的方式實例

      小編寫這篇文章的主要目的,主要是給大家做一個解答,解答有幾個方向,包括利用python合并csv文件的一些相關(guān)實例,下面就給大家做出一個解答?! ?.用concat方法合并csv  將兩個相同的csv文件進行數(shù)據(jù)合并,通過pandas的read_csv和to_csv來完成,即采用concat方法: #加載第三方庫   importpandasaspd   importnumpyasnp   #...

    89542767 評論0 收藏0
  • Python如何讀取千萬級數(shù)據(jù)并自動寫入MySQL數(shù)據(jù)庫

      小編寫這篇文章的一個主要目的,主要是去給大家去做一些相關(guān)的一些介紹,涉及到內(nèi)容的還是比較多的,比如如何去進行讀取千萬級的一些數(shù)據(jù),并且將這些數(shù)據(jù)去自動錄入到系統(tǒng)里面。錄入到系統(tǒng)里面之后,怎么才能夠?qū)氲組ySQL數(shù)據(jù)庫呢?下面就給大家詳細解答下?! ⌒蜓浴 ython數(shù)據(jù)如何去進行讀取MySQL數(shù)據(jù)庫呢?這類工作在生活當(dāng)中是比較的普遍的,涉及到的內(nèi)容也是相關(guān)的一些python數(shù)據(jù)庫,包括數(shù)據(jù)...

    89542767 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<