我想使用CSV閱讀器有效閱讀文件中的列。代碼是:Python - CSV閱讀器列表理解
import csv
csv.register_dialect('csvrd', delimiter='\t', quoting=csv.QUOTE_NONE)
with open('myfile.txt', 'rb') as f:
reader = csv.reader(f,'csvrd')
a0=[x[0] for x in reader]
a1=[x[1] for x in reader]
我獲得第一列中的值,但是a1是空的。如果我先寫a1,然後a0是空的。
我知道一個簡單的解決方案,將
reader=[x for x in reader]
但只是好奇的原因。當你從閱讀器讀入一個條目時,它是否被刪除?
樣品myfile.txt複製
c11 c21 c31
c21 c22 c32
'[X爲在讀取器X]'可以寫成'列表(讀取器)'。儘管如此,明確的for循環可以更好:您只需一次遍歷CSV文件,並在您的代碼嘗試執行兩次操作時無任何問題地執行任何操作。有可能在列表理解中寫同樣的東西,但理解並不總是更加乾淨/ pythonic。 – x3al