zoukankan      html  css  js  c++  java
  • Python模块之csv

      一、csv模块简介

      二、安装

      三、简单使用

      四、常见问题

    一、csv模块简介

    逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)
    CSV文件缺点:
    1.只能保存数字和文本
    2.只能有一张表

    CSV优点:
    1.python库自带
    2.用法简单

    二、安装

    python自带csv模块

    三、简单使用

      3.1 读文件内容

    file = open('a.csv','r')
    RowsList = csv.reader(file)        #file为文件对象
    for perRow in RowsList:        #遍历每一行,返回列表
        for colum in perRow:        #遍历一行中每个列单元格
            print(colum)            #打印单元格

     3.2 写入文件内容

    #什么时候用encoding指定编码,以下“四、常用问题”会有说明
    file = open('a.csv','w',encoding='gbk',newline="")    #newline="",可避免csv里有空行出现
    writerObj = csv.writer(file)  #file为文件对象,存在就覆盖,不存在就创建
    writerObj.writerow([7,'你好'])      #第一行A1单元格写入7,B1单元格写入你好     #存入数据格式可以是列表或者元组皆可
    writerObj.writerows([[8,'yes'],[9,'no']])   #承接上面顺序,A2=8,B2=yes,A3=9,B3=no  #writerows写入所有多行内容

    四、常见问题

      4.1 open函数里不指定encoding,那它的编码方式是什么?

      以下文章里有说明,见红色字体

    https://www.cnblogs.com/lisenlin/articles/8870697.html#2

     4.2 windows下打开csv文件显示乱码

    Windows直接打开csv文件,中文系统是以GBK方式打开的
    如果csv文件在linux或者其他有指定操作系统被创建时,或者在windows下指定了encoding不是gbk编码下被创建,在windows下打开就会乱码

         解决方法一:

              在起源端以GBK编码保存

        解决方法二:

             在呈现端将UTF8转换成GBK编码后再打开(可直接使用如下代码)

    import csv
    
    sourceFile = input('请输入源文件名:')           #比如a.csv
    destinationFile = input('转换后生成新文件名:')  #比如a_new.csv
    
    with open(sourceFile,'r',encoding='utf-8') as f_old,
            open(destinationFile,'w',encoding='gbk',newline='') as f_new:
            
        contents = csv.reader(f_old)
        mywriter = csv.writer(f_new)
        
        mywriter.writerows(contents)    #将utf8编码文件内容以GBK编码保存在新文件里
  • 相关阅读:
    vim的分屏功能
    vim进阶
    VIM常用快捷键
    vim操作:打开多个文件、同时显示多个文件、在文件之间切换
    vim 如何复制文件中多行到另一个文件
    无限分类左右值算法的常规操作逻辑
    js查看Object对象的内容
    js获取当前页面的url信息
    javascript获取url中的参数值
    解决Eclipe安装不上android的ADT的办法
  • 原文地址:https://www.cnblogs.com/lisenlin/p/14241416.html
Copyright © 2011-2022 走看看