• 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方法的使用:打印出来的数据是字典类型,表格的表头为键、每一行的值为值,值有几行就打印几个字典

  • 相关阅读:
    函数与方法(方法前 +
    1362 : 修补木桶 -- 最长的最短边
    149. Max Points on a Line *HARD* 求点集中在一条直线上的最多点数
    148. Sort List -- 时间复杂度O(n log n)
    133. Clone Graph 138. Copy List with Random Pointer 拷贝图和链表
    debug && release
    静态库 && 动态库
    枚举
    获取当前用户所使用的是什么浏览器
    java实现在图片上编辑文本内容
  • 原文地址:https://www.cnblogs.com/qq991025/p/11962782.html
Copyright © 2020-2023  润新知