2011-08-03 7 views
0

Simplegeo Storageに.csvファイルをロードする簡単な方法はありますか?私は素晴らしいコーディングスキルを持っていないし、私はフリーランサーに私のアプリのためのいくつかのマップを作成するように頼むことができるように設定しようとしています。誰かがこれを行うための既存のコードを持っているなら、おそらく自分の状況に適した方法を考え出すことができます。Simplegeo Storageに.csvを読み込むことはできますか?

+0

あなたがアクセスしようとしている言語がありませんこれでオライリー... –

答えて

0

私はちょうどAPIをスキミングしました。ここでは基本的な例では、Python

想定csv形式である:

layer, id, lat, lon 

パイソン

from simplegeo.models import Record, Client 

lines = open('file.csv').split('\n') 
client = Client('your-oauth-token', 'your-oauth-secret') 

for line in lines: 
    parts = line.split(',') 
    if len(parts) == 4: 
     layer = parts[0].strip() 
     id = parts[1].strip() 
     lat = float(parts[2].strip()) 
     lon = float(parts[3].strip()) 
     r = Record(layer, id, lat, lon) 
     client.storage.add_record(r) 

もう少し掘削した後、私は https://simplegeo.com/docs/tutorials/general-hackery#how-import-csv-file-simplegeo

この正確な目的のために自分のサイト上でのpythonの例を見つけました
import csv 
import simplegeo 

OAUTH_TOKEN = '[insert_oauth_token_here]' 
OAUTH_SECRET = '[insert_oauth_secret_here]' 
CSV_FILE = '[insert_csv_file_here]' 
LAYER = '[insert_layer_name_here]' 

client = simplegeo.Client(OAUTH_TOKEN, OAUTH_SECRET) 

def insert(data): 
    layer = LAYER 
    id=data.pop("id") 
    lat=data.pop("latitude") 
    lon=data.pop("longitude") 
    # Grab more columns if you wish 
    record = simplegeo.Record(layer,id,lat,lon,**data) 
    client.add_record(record) 

r = csv.DictReader(open(CSV_FILE, mode='U')) 
for l in r: 
    insert(l)