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