私はPython 2.7を実行しています。私はPythonが初めてです。CSV ファイル (値はスペースで区切られています) を読み込んで、座標の上のヘッダーに基づいて内部の値を分離しようとしています。ファイルの形式が慣れていないため、値を正しく読み取ることができません。正しく読めたとしても、リストに入れる方法がわかりません。
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
そのため、ヘッダーに基づいて座標を分離し、それらを個別のリストに入れるようにプログラムを取得しようとしています。ご協力ありがとうございました!