zoukankan      html  css  js  c++  java
  • python操作csv文件

    CSV(Comma-Separated Values)即逗号分隔值,可以用Excel打开查看。由于是纯文本,任何编辑器也都可打开。与Excel文件不同,CSV文件中:

    值没有类型,所有值都是字符串,不能指定字体颜色等样式,不能指定单元格的宽高,不能合并单元格没有多个工作表,不能嵌入图像图表

    在CSV文件中,以,作为分隔符,分隔两个单元格。像这样a,,c表示单元格a和单元格c之间有个空白的单元格。依此类推。

    不是每个逗号都表示单元格之间的分界。所以即使CSV是纯文本文件,也坚持使用专门的模块进行处理。Python内置了csv模块。先看看一个简单的例子。

    ”将data内容写入csv文件,如下图所示:
     1 import csv
     2 data =[
     3 #使用数字和字符串的数字都可以
     4 ("ken","mafe",23),
     5 ("Tame","maee",29),
     6 ("Js","dggd",26)]
     7 with open("d://test.csv",'w',newline='')as t_file:
     8     csv_writer = csv.writer(t_file)
     9     for l in data:
    10         csv_writer.writerow(l)

    第二步运行py文件之后,我们可以看到d盘已经创建了test.csv文件,如下图所示:

    第三步打开test.csv文件,可以看到已经将内容写入到csv文件中了:

    上面就简单介绍了csv的写,下面来看一下csv读的方法:

    第一步,输入

    1 import csv
    2 reader =csv.reader(open('d://test.csv'))#打开
    3 for list in reader:
    4     print(list)
     第二步运行py文件,可以看到读取了csv文件内容,这里需要注意的是如果直接将excel表格后缀名改为csv文件,读取的时候,会出现编码错误

    在上面,list是一个列表,如果想要查看固定的某列,则需要加上下标,例如我想要查看age,那么只需要改为list[1]

    补充:

    在写入字典序列类型数据的时候,需要传入两个参数,一个是文件对象——f,一个是字段名称——fieldnames,到时候要写入表头的时候,只需要调用writerheader方法,写入一行字典系列数据调用writerrow方法,并传入相应字典参数,写入多行调用writerows

     1 import csv
     2 header=['name','age']
     3 data =[
     4 {'name':'mafe','age':23},
     5 {'name':'maee','age':29},
     6 {'name':'dggd','age':26}]
     7 with open("d:\test.csv",'w',newline='')as t_file:
     8     #表头在这里传入,作为第一行数据
     9     writer = csv.DictWriter(t_file,header)
    10     writer.writeheader()
    11     for l in data:
    12         writer.writerow(l)

    再打开test.csv结果如下:

    假设csv文件的内容如上图图所示,用DictReader来读取它

    DictReader会将第一行的内容(类标题)作为key值,第二行开始才是数据内容。即图中的csv文件有2列4行数据,第一列的key值为name,第二列的key值为age:

    1 import csv
    2 with open('d://test.csv',encoding='utf-8')as f:
    3     reader =csv.DictReader(f)#字典表 DictReader 列表读取
    4     headers =next(reader)#迭代一次
    5     print(headers)
    6     for row in reader:
    7         print(row)

    运行结果如下:

    最后提醒一下:

    read方法的使用:打印出来的结果是数组类型,有文件中几行数据就打印几个数组,不区分表头和值

    DictReader方法的使用:打印出来的数据是字典类型,表格的表头为键、每一行的值为值,值有几行就打印几个字典

  • 相关阅读:
    Python 写Windows Service服务程序
    关于Python 获取windows信息收集
    Pyqt 获取windows系统中已安装软件列表
    Python 打开目录与指定文件
    【转载】Pyqt 编写的俄罗斯方块
    Python win32api提取exe图标icon
    Pyqt QListWidget之缩略图列表
    Pyqt 时时CPU使用情况
    Python 的三目运算
    Chrome Crx 插件下载
  • 原文地址:https://www.cnblogs.com/qq991025/p/11962782.html
Copyright © 2011-2022 走看看