Pythonでも辞書型内に改行があっても大丈夫じゃないの?と思って以下のようにしました。
[sourcecode language="python"]
import csv
def csv2dic(readed):
for row in readed:
print ','.join(row)+','
test = csv.reader(open('csvファイル', 'rb'))
csv2dic(test)
[/sourcecode]
結果↓
出力結果をターミナル上でコピーしてテキストエディタかなんかに貼付け。前と後を編集。
[sourcecode language="python"]
dic={1001:9,
1002:9,
1003:9,
(中略)
9998:10,
9999:10}
[/sourcecode]
最後にprint dic[9925]とかなんとかつけて.pyで保存すれば実行した時に10とか返ってきます。
ArcMapを起動してフィールド演算をします。
フィールド演算ウィンドウはレイヤウィンドウでshpファイルを右クリックして「属性テーブル」を開き、「新規フィールド」(だったかな?)を選択、型をshort、名前はpointとかの任意の名前してOK。作成されたフィールドの上の名前を右クリックして「フィールド演算」
形式で"Python"にチェックを入れて、"コードブロックを表示"にもチェック。上のテキストボックスに先ほど作った辞書型をコピペ、下のテキストボックスにはdic [!MAJOR1!]を入力して「OK」
計算が始まります。
できた。
色をつけてみました。
12/7 追記
入門 Unix for Mac OS X 第4版読んでて知ったんですが、別にターミナルの出力をコピペなんてことしなくても
python csv2dic.py > XXXX.txt
とかすればいいんですね。
0 件のコメント:
コメントを投稿