for line in open('sample'):
id,name,age = line.split(',')
print(id,name,age.strip('\n'))
sample为一个txt文件,文件内容如下:
id,name,age
1,jason,18
2,jian,20
3,xiaoming,30
4,dog,40
代码运行在终端输出的结果为:
id name age
1 jason 18
2 jian 20
3 xiaoming 30
4 dog 40
import csv
reader = csv.reader(open('sample'))
print(reader) # <_csv.reader object at 0x0000017E2B94E938>
# reader中存储的是列表类型数据,为了方便理解我们就将reader看成是个列表嵌套列表的对象
for line in reader: # 这一步就相当于将reader中的每个列表取出
print(line) # ['id', 'name', 'age']
# line是一个列表
id,name,age = line
print(id,name,age)
代码运行在终端输出的结果为:
<_csv.reader object at 0x0000021E1BC6F938> # 来自于print(reader)
['id', 'name', 'age'] # 来自于print(line)
id name age # 来自于print(id,name,age)
['1', 'jason', '18']
1 jason 18
['2', 'jian', '20']
2 jian 20
['3', 'xiaoming', '30']
3 xiaoming 30
['4', 'dog', '40']
4 dog 40
示例代码1中的print(id,name,age.strip('\n'))
与示例代码2中的print(id,name,age)
效果一致,从此我们就可以看出csv.reader()方法的作用相当于就是通过‘,’分割csv格式的数据,并将分割好的每行数据存入列表中,并且还去除了每行最后分割产生的数据尾部的空格、换行符、制表符等等,然后示例代码2中的reader = csv.reader(open('sample'))
的reader变量为了方便大伙理解,我们可以把它看成是一个列表嵌套列表的对象相当于就是一个大列表里面包了许多的小列表,小列表中存储的就是csv文件中每行分割好的数据。