成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

89542767 / 1280人閱讀

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


  一、csv文件介紹


  1、csv文件簡(jiǎn)介


  逗號(hào)分隔值(Comma-Separated Values,CSV,有時(shí)也稱為字符分隔值,因?yàn)榉指糇址部梢圆皇嵌禾?hào)),其文件以純文本形式存儲(chǔ)表格數(shù)據(jù)(數(shù)字和文本)。純文本意味著該文件是一個(gè)字符序列,不含必須像二進(jìn)制數(shù)字那樣被解讀的數(shù)據(jù)。CSV文件由任意數(shù)目的記錄組成,記錄間以某種換行符分隔;每條記錄由字段組


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


  2、為什么要使用csv文件


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


  eg:

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


  二、csv文件查看


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


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


 ?。?)這里我們以windows中的csv文件來(lái)做實(shí)驗(yàn)

01.png

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


  [root python _test]#vim test.csv###可以發(fā)現(xiàn)復(fù)制進(jìn)去的是以空格為分隔符
  id username passwd age
  1 dream1 123 21
  2 dream2 456 22
  3 dream3 789 23
  ###把空格替換為逗號(hào)
  [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']]


 ?。?)遍歷(從第一行讀?。?/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文件(字典)


  (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)
  ###查看結(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)點(diǎn):我們不知道表頭在具體那列,我們可以通過(guò)表頭名來(lái)獲取整列數(shù)據(jù),即我們可以隨便調(diào)整順序也不會(huì)影響我們的數(shù)據(jù)讀取?。?!


  [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、寫(xiě)入文件(列表)


  [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、寫(xiě)入文件(字典)


  [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()
  ###一行一行寫(xiě)入
  for i in li:
  writer.writerow(i)
  ###直接把li寫(xiě)入(多行)
  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ī)?lái)幫助。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/128360.html

相關(guān)文章

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

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

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

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

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

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

    89542767 評(píng)論0 收藏0
  • 利用python合并csv文件的方式實(shí)例

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

    89542767 評(píng)論0 收藏0
  • Python如何讀取千萬(wàn)級(jí)數(shù)據(jù)并自動(dòng)寫(xiě)入MySQL數(shù)據(jù)庫(kù)

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

    89542767 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<