$params[] = 'sheetuser='******'cols=' . urlencode(json_encode($columns)); $params[] = 'meta=' . urlencode(json_encode($meta)); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_POSTFIELDS, implode('&', $params)); $content = curl_exec($curl); $obj = json_decode($content); if ($obj->error) { //throw new Exception($obj->message); } } public function getContent($url) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $content = curl_exec($curl); curl_close($curl); return $content; } } $i = new Importer(); $data_hk = json_decode($i->getContent('http://gazetteer.hk/locale/zh-HK/generated_ns-translation.json')); $data_us = json_decode($i->getContent('http://gazetteer.hk/locale/en-US/generated_ns-translation.json')); $data_cn = json_decode($i->getContent('http://gazetteer.hk/locale/zh-CN/generated_ns-translation.json')); foreach ($data_hk->district as $id => $name) { $i->insertData("/ronnywang/香港行政區劃-分區", array(strtoupper($id), $name, $data_cn->district->{$id}, $data_us->district->{$id}), array(0)); } foreach ($data_hk->area as $id => $name) { $i->insertData("/ronnywang/香港行政區劃-選區", array(strtoupper($id), substr($id, 1), strtoupper($id[0]), $name, $data_cn->area->{$id}, $data_us->area->{$id}), array(0)); } $i->commitData();
$meta = array('license' => 'CC0', 'source' => 'http://ecolife.epa.gov.tw/ https://github.com/ronnywang/ecolife.epa.gov.tw', 'period' => 'monthly', '處理程式' => 'https://github.com/sheethub/data-import-script/tree/master/ecolife.epa.gov.tw'); foreach (array(2015) as $year) { $i->newSheet("/ecolife.epa.gov.tw/{$year}-縣市用電量", array('月份', '縣市代碼', '縣市名稱', '用電量'), $meta); $i->newSheet("/ecolife.epa.gov.tw/{$year}-鄉鎮用電量", array('月份', '縣市代碼', '縣市名稱', '鄉鎮代碼', '鄉鎮名稱', '用電量'), $meta); $i->newSheet("/ecolife.epa.gov.tw/{$year}-村里用電量", array('月份', '縣市代碼', '縣市名稱', '鄉鎮代碼', '鄉鎮名稱', '村里名稱', '用電量'), $meta); for ($month = 1; $month <= 12; $month++) { error_log("{$year}/{$month}"); $curl = curl_init("https://raw.githubusercontent.com/ronnywang/ecolife.epa.gov.tw/master/outputs/town/{$year}-{$month}.csv"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $content = curl_exec($curl); $info = curl_getinfo($curl); if (200 == $info['http_code']) { foreach (explode("\n", trim($content)) as $line) { list($county_id, $county_name, $town_id, $town_name, , $total) = explode(',', trim($line)); if ($town_id) { $i->insertData("/ecolife.epa.gov.tw/{$year}-鄉鎮用電量", array($month, convertCountyId($county_id, $year), $county_name, convertTownId($town_id, $year), convertTownName($county_id, $year, $town_name), $total), array(0, 3)); } elseif ('總計' == $town_name) { $i->insertData("/ecolife.epa.gov.tw/{$year}-縣市用電量", array($month, convertCountyId($county_id, $year), $county_name, $total), array(0, 1)); } } } $curl = curl_init("https://raw.githubusercontent.com/ronnywang/ecolife.epa.gov.tw/master/outputs/village/{$year}-{$month}.csv"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); $content = curl_exec($curl); $info = curl_getinfo($curl); if (200 == $info['http_code']) { foreach (explode("\n", trim($content)) as $line) { list($county_id, $county_name, $town_id, $town_name, $village_name, $total) = explode(',', trim($line)); if ($village_name != '總計') { $i->insertData("/ecolife.epa.gov.tw/{$year}-村里用電量", array($month, convertCountyId($county_id, $year), $county_name, convertTownId($town_id, $year), convertTownName($county_id, $year, $town_name), convertVillageName($town_id, $year, $village_name), $total), array(0, 3, 5)); }