我想打開一個文本文件使用csv模塊,其中我有一些值,然後提取和兩個單獨的列表填充。爲什麼這個python列表在這種情況下顯示爲空?
這是文件example.txt的:
1,2
3,4
6,8
8,2
9,3
有在不同的場景不同的輸出,當我嘗試運行此代碼:
with (open('A:\WorkSpace--Python\Plotter\MainSource\example.txt','r')) as egFile:
plot=csv.reader(egFile,delimiter=',')
x=[int(row[0]) for row in plots]
y=[int(row[1]) for row in plots]
在IPython中,當我引用x和y它輸出y的空列表。
對於X:
[1,3,6,8,9]
用於Y:
[]
但是,如果我註釋掉正在填充x的行,然後引用y返回適當的列表。
with (open('A:\WorkSpace--Python\Plotter\MainSource\example.txt','r')) as egFile:
plot=csv.reader(egFile,delimiter=',')
'''x=[int(row[0]) for row in plots]'''
y=[int(row[1]) for row in plots]
輸出y:
[2,4,8,2,3]
我已經使用不同的變量名稱試過,但結果仍然相同。
如果我多次運行閱讀器功能該怎麼辦?它仍會從同一文件中讀取嗎?或者我必須再次打開嗎? –
@ashishkaran文件通過迭代同樣耗盡,但您可以使用'file.seek(0)'來重置它們。不過不要擔心,只需像最初建議的那樣使用'list'即可。我懷疑你的文件太大,無法在內存中處理。如果是這樣,無論如何你都不能指望它。 –