簡體   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