[英]Use of readline()?
我有一个关于这个程序的问题:
%%file data.csv
x1,x2,y
0.4946,5.7661,0
4.7206,5.7661,1
1.2888,5.3433,0
4.2898,5.3433,1
1.4293,4.5592,0
4.2286,4.5592,1
1.1921,5.8563,0
3.1454,5.8563,1
f = open('data.csv')
data = []
f.readline()
for line in f:
(x1,x2,y) = line.split(',')
x1 = float(x1)
x2 = float(x2)
y = int(y)
data.append((x1,x2,y))
这里 readline 的目的是什么? 我见过不同的例子,但这里似乎删除了第一行。
Python 正在串行读取数据,因此如果一行被读取一次,python 会跳转到下一行。 r.readline() 读取第一行,因此在循环中它不会被读取。
这正是重点:删除第一行。 如果您注意到,该文件的第一行( x1,x2,y
)包含列的名称,并且程序想要忽略该行。
在循环读取文件行之前使用readline()
方法等于:
for line in f.readlines()[1:]:
...
例如,可用于跳过表 header。
在您的文件中,当您将x1
变量转换为浮点类型时,它会引发ValueError
,因为在第一次迭代中x1
不包含数字字符串类型值"x1"
。 为了避免该错误,您使用readline()
将迭代器切换到包含纯数字的第二行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.