# Load events table # Maybe auto download newest if not CHANGESFILE: import urllib CHANGESFILE = "pshapes_raw_auto.csv" with open(CHANGESFILE, "wb") as writer: print "downloading latest..." raw = urllib.urlopen("http://pshapes.herokuapp.com/download/raw/").read() writer.write(raw) import sys sys.path.append(r"C:\Users\kimo\Documents\GitHub\Tably") import tably eventstable = tably.load(CHANGESFILE) # CSV EXPORT FROM WEBSITE DATABASE eventstable = eventstable.exclude('status == "NonActive"') eventstable = eventstable.exclude('fromcountry in "Ethiopia Eritrea Norway".split() or tocountry in "Ethiopia Eritrea Norway".split()') for changetable in eventstable.split(["date"]): event = Event() # parse date correctly date = dateutil.parser.parse(changetable[0].dict["date"]) event.date = datetime.date(year=date.year, month=date.month, day=date.day) for row in changetable: # remove junk tably.<None> obj def parseval(val): if not val or val == "X": return None else: return val
import tably data = tably.load("/Users/karim/Desktop/pyGDELT/data/GDELT_working_EXCEL_wrapper.xlsx") # print all fields/columns #print data.fields # print one column print data.fields["ac_goldsteinscale"] # print rows #for row in data: print row # print entire table info print data # FIX HOW COPY SELF #d2 = data.copy() #print data.join("a2_country", d2, "a2_country")
ids={"Name": feat.properties["name"], "HASC": feat.properties["code_hasc"], "ISO": feat.properties["iso_3166_2"], "FIPS": feat.properties["fips"] }, other={}, geometry=feat.geometry) # Load events table import sys sys.path.append(r"C:\Users\kimo\Documents\GitHub\Tably") import tably eventstable = tably.load("pshapes_test.xlsx") for changetable in eventstable.split(["EventDate"]): event = Event() # parse date correctly date = dateutil.parser.parse(changetable[0].dict["EventDate"]) event.date = datetime.date(year=date.year, month=date.month, day=date.day) for row in changetable: # remove junk tably.<None> obj def parseval(val): if val: return val else: return None for i,val in enumerate(row): row[i] = parseval(val)
class SplitChange: def __init__(self, type, fromprov, toprov): self.type = type self.fromprov = fromprov self.toprov = toprov class NewInfo: def __init__(self, type, fromprov, toprov): self.type = type self.fromprov = fromprov self.toprov = toprov import sys sys.path.append(r"C:\Users\kimo\Documents\GitHub\Tably") import tably fulltable = tably.load(filepath) events = [] for changetable in fulltable.split(["EventID"]): event = Event() event.id = changetable[0].dict["EventID"] event.date = dateutil.parser.parse(changetable[0].dict["EventDate"]) for row in changetable: if row["Type"] in ("FullTransfer","PartTransfer"): if not row["CutPoly"] or not row["FromProv"]: continue change = TransferChange(row["Type"], row["FromProv"], row["ToProv"], row["CutPoly"]) elif row["Type"] == "Breakaway": change = SplitChange(row["Type"],