资讯专栏INFORMATION COLUMN

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

89542767 / 1256人阅读

  小编写这篇文章的主要目的,主要还是给大家讲解一下关于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文件来做实验

01.png

  (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

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)
  ###查看结果
  [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


     综上所述,这篇文章就给大家介绍到这里了,希望可以给大家带来帮助。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/128360.html

相关文章

  • Python如何批量将csv文件编码方式转换为UTF-8?下面大家解答

      csv文件其实就是单纯的储存文本数据的一种形式,那么,在日常的办公当中,要怎么做去提高其办公的效率呢?比如,如何使用Python去批量的进行处理文件,批量的处理csv文件,怎么将编码转换成为YTF-8的形式呢?下面给大家详细的解答下。  当我们用pandas是操作CSV文件的时候,常常会因为编码问题出现报错。  pandas_libsparsers.pyx in pandas._libs.pa...

    89542767 评论0 收藏0
  • 怎么使用Python实时向文件写入数据

      小编写这篇文章的主要目的,主要是讲解一下关于Python的一些知识,比如教大家怎么能够实时的去进行写入数据,提高工作的效率,关于其具体的代码,下面小编给大家详细解答下。  之前在做数据分析的时候,我们需要处理大量高并发的数据,比如对新的数据去进行处理,那么,怎么处理呢?下面给大家进行一个详细的解答。  1:实时向csv文件写入数据  假设需要生成一张csv表,里面的字段对应一些数据,由于后续的...

    89542767 评论0 收藏0
  • Python如何利用pandas读取csv数据并绘图

      小编写这篇文章的一个主要目的,主要是给大家去做一个解答,解答的内容主要是Python相关知识,比如说,会给大家讲解怎么样去利用Python pandas去做一个读取,读取的是csv数据,然后将这些数据去做一个绘图处理,具体内容下面给大家详细解答。  如何利用pandas读取csv数据并绘图  导包,常用的numpy和pandas,绘图模块matplotlib,  importmatplotli...

    89542767 评论0 收藏0
  • 利用python合并csv文件的方式实例

      小编写这篇文章的主要目的,主要是给大家做一个解答,解答有几个方向,包括利用python合并csv文件的一些相关实例,下面就给大家做出一个解答。  1.用concat方法合并csv  将两个相同的csv文件进行数据合并,通过pandas的read_csv和to_csv来完成,即采用concat方法: #加载第三方库   importpandasaspd   importnumpyasnp   #...

    89542767 评论0 收藏0
  • Python如何读取千万级数据并自动写入MySQL数据库

      小编写这篇文章的一个主要目的,主要是去给大家去做一些相关的一些介绍,涉及到内容的还是比较多的,比如如何去进行读取千万级的一些数据,并且将这些数据去自动录入到系统里面。录入到系统里面之后,怎么才能够导入到MySQL数据库呢?下面就给大家详细解答下。  序言  Python数据如何去进行读取MySQL数据库呢?这类工作在生活当中是比较的普遍的,涉及到的内容也是相关的一些python数据库,包括数据...

    89542767 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<