![](/img/trans.png)
[英]How to read last line of CSV file into a list that I can manipulate (python)
[英]How can I not read the last line of a csv file if it has simply 1 column in Python?
我有2列這樣的2個csv文件。
1 3 6 8\n 1 3 7 2\n
7 9 1 3\n 9 2 4 1\n
\n 1 8 2 3\n
我只想讀取至少包含2列的行,因為只有\\ n的行沒有用。
目前,我正在使用以下文件讀取文件:
for line in f:
list = line.strip("\n").split(",")
...
但是,我希望只有1列的行應被忽略。
如果它們是合法的逗號分隔的csv文件,請嘗試使用csv模塊。 與其他答案一樣,您仍然必須消除空白行。 為此,您可以測試一個空列表(當作為if語句中的表達式求值時為假值)。
import csv
with open('filename.csv' as f):
reader = csv.reader(f)
rows = [row for row in reader if row]
rows
現在包含csv文件中的所有非空行。
當您點擊空白行時,您可以退出循環。
if not line.strip():
break
您可以在去除空格字符后測試該行的真實值。 空字符串將具有虛假值,您可以通過在if
塊中進行處理來避免該值:
for line in f:
line = line.strip("\n")
if line: # empty string will be falsy
lst = line.split(",")
要讀取包含兩列的行,可以在拆分后測試行的長度:
for line in f:
row = line.strip("\n").split()
if len(row) >= 2:
...
請注意不要在代碼中使用名稱list
,因為這會掩蓋內置list
類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.