python读取csv文件

参考此贴:csv格式文件之csv.DictReader()方法_booze-J的博客-CSDN博客_csv.dictreader

官方帮助:csv — CSV File Reading and Writing — Python 3.10.6 documentation

csv文件中的数据如下

no,address,age
1,111,12
2,111,13
3,111,14
4,111,15
5,111,16
6,111,17
7,111,18
8,111,19
9,111,20
10,111,21
11,111,22
12,111,23

1、首先引入csv包

2、使用with打开csv文件(可以自动关闭,不用close)

3、使用fieldnames来读取相应列,否则的话是所有列都读取,当然还可以使用lrestval='others'用来指定键对应值为空时的默认值,并且要注意restval也只能传入一个值,不能传入列表,元组数据类型

4、使用next方法移动指针到第二行(第一行为表头)

5、使用循环读取一行,并使用关键词来获得相应的值,如果你Print(line)的话就会发现每行其实是一个字典的形式

{'no': '1', 'address': '111', 'age': '12'}
1 111 12
{'no': '2', 'address': '111', 'age': '13'}
2 111 13
{'no': '3', 'address': '111', 'age': '14'}
3 111 14
{'no': '4', 'address': '111', 'age': '15'}
4 111 15
{'no': '5', 'address': '111', 'age': '16'}
5 111 16
{'no': '6', 'address': '111', 'age': '17'}
6 111 17
{'no': '7', 'address': '111', 'age': '18'}
7 111 18
{'no': '8', 'address': '111', 'age': '19'}
8 111 19
{'no': '9', 'address': '111', 'age': '20'}
9 111 20
{'no': '10', 'address': '111', 'age': '21'}
10 111 21
{'no': '11', 'address': '111', 'age': '22'}
11 111 22
{'no': '12', 'address': '111', 'age': '23'}
12 111 23

具体代码如下

import csv
import numpy as np
with open('./test.csv') as csv_file:
    csv_reader = csv.DictReader(csv_file, fieldnames=['no', 'address', 'age'])
    row = next(csv_reader)

    for line in csv_reader:
        # print(line)
        print(line['no'], line['address'], line['age'])

  

posted on 2022-08-28 10:02  风中狂笑  阅读(2630)  评论(0编辑  收藏  举报

导航