繁体   English   中英

使用 readline()?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM