当前位置: 首页> 技术文章> Python开发培训之csv模块

Python开发培训之csv模块

Python开发培训之csv模块

Python中的csv模块

1. csv模块说明:

          1.1 默认读写用逗号做分隔符(delimiter),双引号作引用符(quotechar)

                 1.2 用writer写数据None被写成空字符串,浮点型调用repr()转化成字符串。非字符

串型数据被str()成字符串存储。

1.3 open函数

   import locale ; locale.getpreferredencoding()# 查看本地编码'cp936'

   open('some.csv', newline='', encoding='utf-8')

     # 使用系统默认编码将文件解码为unicode可使用不同的编码解码文件

     # 如果newline=''没有指定,嵌入引用字段内换行符将不会被正确地解释

4)RFC 4180 提供了一些标准:

     # 内容为纯文本;包含记录

     # 每条记录是用单个分隔字符将各属性分隔

     # 每条记录的属性序列是相同的pandas可以通过PyPI的 pip安装 。 

upfile1625450153647.jpg


2.模块内容 

 

2.1模块常量:引用约定

 

quoting=csv.QUOTE_MINIMAL =0 # writer对象只引用那些包含特殊字符

quoting=csv.QUOTE_ALL=1      # writer对象引用所有字段

                             # 如字段分隔符,quotechar或任何字符 

lineterminator。

quoting=csv.QUOTE_NONNUMERIC=2 # writer对象引用所有非数字字段。

                               # 指示读者将所有非引用字段转换为float类型。

quoting=csv.QUOTE_NONE=3,escapechar='$'# writer对象不引用字段

                                       # 如未设置escapechar错误抛出;指示reader不对引号字符执行特殊处理。 

2.21.函数:

 

csv.reader(f,dialect ='excel',** fmtparams )# 返回一个读取器对象,它将迭代给定csv文件中的行。

    # 属性:

      csv.reader().dialect

      csv.reader().line_num

 

csv.writer(f,dialect ='excel',** fmtparams ) # 返回一个编写器对象,负责将用户的数据转换为给定类文件对象上的分隔字符串

    # 属性方法:

      writer.writerow

      writer.writerows

      writer.dialect

 

csv.DictReader()#字典读

# 方法:

      csv.DictReader().__next__()# 称之为next(reader)

 

    # 属性:

      csvreader.dialect   # 解析器使用的方言的只读描述。

      csvreader.line_num  # 从源迭代器读取的行数。这与返回的记录数不同,因为记录可以跨越多行。

      csvreader.fieldnames# 从文件中读取第一条记录时初始化此属性

 

csv.DictWriter()

    # 方法:

      csvwriter.writerow(row)  # 将row写入writer的文件对象,根据当前方言进行格式化。支持迭代

      csvwriter.writerows(rows)# 将行中的所有元素写入编写器的文件对象,并根据当前方言进行格式化。支持迭代

      DictWriter.writeheader() # 公共方法:用字段名称写一行

    # 属性:

      csvwriter.dialect        # 使用的方言只读描述 

   # 返回所有已注册方言的名称。

# 数据读取

# import csv

# with open(r'C:\Users\Alienware\Desktop\test.csv','r') as f:

#     all = csv.reader(f)  #读取所有数据 返回一个csv对象

#     print(type(all))

#     for i in all:   #遍历csv对象 返回csv文件中的所有数据 list类型

#         print(i)

# 数据写入import csv#newline=''表示新行用空字符表示 这样换行写入数据时就不会出现空行

with open(r'C:\Users\Alienware\Desktop\test.csv','a',newline='') as f:

    all = csv.writer(f)

    #传入列表类型的数据 第一个元素对应第一列 第二个元素对应第二列

    # all.writerow(['admin',7])  #一行一行写入

    all.writerows([['name','zhangsan'],['class','baoan10']]) #多行写入


如需了解更多测试技术信息请关注:http://www.duoceshi.cn/ 深圳市多测师信息技术有限公司




上一篇: 测试开发培训之计算列表元素之和

下一篇: 软件测试之手工测试人员如何转测试开发?

QQ技术交流群

多测师官方学习交流
556733550

加入群聊