当前位置:   article > 正文

csv.reader的基本使用

csv.reader

一、简单介绍

csv.reader(file, delimiter='\t'),其中 delimiter 代表分隔符,通常根据数据集中相邻元素之间的分隔方式来设定,函数默认每行数据的元素间是以逗号分隔(也可以设置为'\t')。

csv.reader()返回一个reader对象,利用该对象可以遍历csv文件中的行,从csv文件中读取的每一行都以字符串列表的形式返回。

二、实例

  1. '''
  2. test.csv, 数据以'\t'分割:
  3. name score
  4. Mike 61
  5. hero 89
  6. trump 90
  7. '''
  8. with open('..\\data\\test.csv') as file:
  9. csv_reader = csv.reader(file, delimiter='\t')
  10. for row in csv_reader:
  11. # 第一行为标题头
  12. print(row) # List类型
  13. print(row[0], row[1]) # 列表中的元素
  14. # 输出
  15. ['name', 'score']
  16. name score
  17. ['Mike', '61']
  18. Mike 61
  19. ['hero', '89']
  20. hero 89
  21. ['trump', '90']
  22. trump 90

 三、补充

3.1 csv.DictReader

csv.DictReader(file, delimiter=','),csv文件的标题头会被识别为键,非第一行会被识别为值,以有序字典OrderedDict的形式返回。

OrderedDict是一种长相类似于列表的数据类型,该列表中嵌套着元组例:line = OrderedDict([('id', '1'), ('name', 'jason'), ('age', '18')]),每个元组中的第一个元素为键,第二个元素为值(类似于字典)。

  1. '''
  2. test.csv, 数据以'\t'分割
  3. name score
  4. Mike 61
  5. hero 89
  6. trump 90
  7. '''
  8. import csv
  9. with open('..\\data\\test.csv') as file:
  10. csv_reader = csv.DictReader(file, delimiter='\t')
  11. for row in csv_reader:
  12. # 以首次输出进行说明
  13. print(row) # {'name': 'Mike', 'score': '61'},这里自动输出为字典
  14. print(row['name'], row['score']) # 返回:Mike 61
  15. # 输出
  16. {'name': 'Mike', 'score': '61'}
  17. Mike 61
  18. {'name': 'hero', 'score': '89'}
  19. hero 89
  20. {'name': 'trump', 'score': '90'}
  21. trump 90

3.2 csv.writer

csv.writer(file, delimiter='\t') 创建一个常规Writer的对象,传入的是列表类型的数据。

  1. '''
  2. test.csv, 数据以'\t'分割:
  3. name score
  4. Mike 61
  5. hero 89
  6. trump 90
  7. '''
  8. import csv
  9. # a 即以代表 append 方式写入csv文件
  10. with open('..\\data\\test.csv', 'a') as file:
  11. csv_writer = csv.writer(file, delimiter='\t')
  12. # 将列表中的元素依次附加在 csv 文件的下一行
  13. csv_writer.writerow(["Alice", "70"])
  14. '''
  15. 新test.csv:
  16. name score
  17. Mike 61
  18. hero 89
  19. trump 90
  20. Alice 70
  21. '''

3.3 csv.DictWriter

csv.DictWriter(file, fieldnames, delimiter='\t') 创建一个常规Writer的对象,传入的是字典类型的数据。

  1. '''
  2. test.csv, 数据以'\t'分割:
  3. name score
  4. Mike 61
  5. hero 89
  6. trump 90
  7. Alice 70
  8. '''
  9. import csv
  10. # newline=‘’参数可以使每次写入数据不会产生空行
  11. with open('..\\data\\test.csv', 'a', newline= '') as file:
  12. # 以字典方式写入
  13. csv_writer = csv.DictWriter(file, fieldnames=['name', 'score'], delimiter='\t')
  14. # 将字典中的元素依次附加在 csv 文件的下一行
  15. csv_writer.writerow({"name": "Johnson", "score": "50"})
  16. '''
  17. 新test.csv:
  18. name score
  19. Mike 61
  20. hero 89
  21. trump 90
  22. Alice 70
  23. Johnson 50
  24. '''

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/212578
推荐阅读
相关标签
  

闽ICP备14008679号