我正在運行Python 2.7。我對Python很陌生。我正在嘗試讀取CSV文件(值由空格分隔),並根據座標上方的標題分隔內部值。該文件的格式不是我習慣的,我無法正確讀取值。即使我能讓他們正確閱讀,我也不知道如何將它們放入列表中。使用Python讀取CSV文件2
下面是CSV文件的樣子:
# image name
1.png
# probe locations
100 100
200 100
100 200
300 300
# another image name
2.png
100 200
200 100
300 300
135 322
# end
這裏是我與打碼:
class CommentedFile:
def __init__(self, f, commentstring="#"):
self.f = f
self.commentstring = commentstring
def next(self):
line = self.f.next()
while line.startswith(self.commentstring):
line = self.f.next()
return line
def __iter__(self):
return self
#I did this in order to ignore the comments in the CSV file
tsv_file = csv.reader(CommentedFile(open("test.exp", "rb")),
delimiter=' ')
for row in tsv_file:
if row != int:
next(tsv_file)
if row:
print row
代碼打印出:
['100', '100']
['100', '200']
['100', '200']
['300', '300']
Traceback (most recent call last):
File "the path", line 57, in <module>
next(tsv_file)
StopIteration
所以我m試圖讓程序根據標題分開座標,然後將它們放入單獨的列表中。感謝您的幫助!
那不是真的* * CSV文件,所以它可能不適合使用'CSV .reader'。示例輸入文件需要的輸出是什麼? – Aya
我不明白行'if row!= int:'??? –
我最終希望使用reader/parser的輸出作爲我正在繪製的圖形的座標。所以我想,列表中的x和y座標與它們在輸出中的方式一起。我應該用什麼來代替csv.reader? – user2479054