2012-02-17 21 views
0

私はArcMAP内でポイントシェイプファイルを生成するためにPythonを使用してコードを作成しています。私は1000のランダムな可能性を持っています(FileAで)、私はそれらのすべてを試す必要があります。 FileAは、FileBの位置のインデックスです。AttributeError: 'str'オブジェクトに 'toInteger'属性がありません

また、生成されるシーケンスごとに、ボロノイポリゴンの領域の進化を、各シーケンスの3つのポイントから50ポイントまで、合計50ポイントで調べています。

tempXYFile.writerow('{0},{1}'.format(coordinates[entry.toInteger()][0],coordinates[entry.toInteger()][1])) 
AttributeError: 'str' object has no attribute 'toInteger' 

私は任意の助けを感謝します。私は、コードを実行すると

は、私は私を混乱させるこのメッセージを持っています!

これは私のコードです:

import csv 

# create 1000 XY sequences 
print 'Start of the script' 
sequences = csv.reader(open('FileA.csv','rb'),delimiter=',') 
coordinates = [] 

# read coordinates of volcanos and store in memory 
print 'Start reading in the coordinates into the memory' 
coordinates_file = csv.reader(open('FileB.csv','rb'),delimiter=',') 
for coordinate in coordinates[1:]: 
    coordinates.append(coordinate) 
del coordinates_file 

##i = 1 
for sequence in sequences: 
## print 'sequence # {0}'.format(i) 
    j = 1   
    tempXYFile = csv.writer(open('tempXY.csv','wb'),delimiter=',') #add the parameter to create a file if does not exist     
    for entry in sequence:   
     tempXYFile.writerow('{0},{1}'.format(coordinates[entry.toInteger()][0],coordinates[entry.toInteger()][1])) 
     print 'Entry # {0}: {1},{2}'.format(j, coordinates[entry.toInteger()][0],coordinates[entry.toInteger()][1]) 
     j = j + 1 
    i = i + 1 
    del tempXYFile 

print 'End of Script' 
+0

こんにちは、私は(int型」に '[0])entry.toInteger(' 変更エントリ[])'。言語を混在させています... 私はこの新しいエラーがあります: 'tempXYFile.writerow(' {0}、{1} ')フォーマット(座標[int(entry)] [0]、座標[int(entry)] [ 1])) IndexError:リストインデックスが範囲外です ' – user1166251

答えて

2

Pythonには文字列のtoInteger()関数がありません。代わりにint(entry[])という文字列を使用します。

2

標準のPythonの文字列にはtoInteger()方法はありません。エラーメッセージはかなり明確です。 "37"のような文字列を整数37に変換する場合は、代わりにint(entry)を試してください。

コードにtoInteger()と書かれたのはなぜですか?

関連する問題