Я попытался использовать параметр dtypes = [datetime, ...], но
import pandas as pd
from datetime import datetime
headers = ['col1', 'col2', 'col3', 'col4']
dtypes = [datetime, datetime, str, float]
pd.read_csv(file, sep='\t', header=None, names=headers, dtype=dtypes)
Я обнаружил следующую ошибку:
TypeError: data type not understood
Единственное изменение, которое я имел сделать, чтобы заменить datetime на datetime.datetime
import pandas as pd
from datetime import datetime
headers = ['col1', 'col2', 'col3', 'col4']
dtypes = [datetime.datetime, datetime.datetime, str, float]
pd.read_csv(file, sep='\t', header=None, names=headers, dtype=dtypes)
Причина, по которой он не работает, заключается в том, что вы пытаетесь использовать API Google Maps СЛИШКОМ РАННЕЕ
Согласно документации: https://developers.google.com/ карты / документация / javascript / tutorial
Атрибут async позволяет браузеру отображать остальную часть вашего веб-сайта, пока загружается JavaScript API Карт. Когда API будет готов, он вызовет функцию, указанную с помощью параметра обратного вызова.
blockquote>
Создайте функцию javascript, назовите ее как угодно, затем в теге скрипта, который вы используете для вызова API Google Maps, добавьте следующий параметр:
&callback=YOUR_FUNCTION_NAME_HERE
[1113 ]
var map, geocode; var companies = { Google: '1600 Amphitheatre Parkway in Mountain View' }; function initMap(){ map = new google.maps.Map(document.getElementById('map'), { center: {lat: -34.397, lng: 150.644}, zoom: 8 }); geocoder = new google.maps.Geocoder(); Object.keys(companies).forEach(function(key) { var companyName = key; var comapnyLocation = companies[key]; console.log('Key : ' + key + ', Value : ' + companies[key]) geocoder.geocode( { 'address': comapnyLocation}, function(results, status) { console.log("Results:", results ); if (status == 'OK') { console.log(results[0].geometry.location); } else { alert('Geocode was not successful for the following reason: ' + status); } }); }); }
<script async defer src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap"> </script>
Результаты
Прежде всего, мои извинения @CraigWayne. Я уверен, что его ответ поможет другим, но, поскольку я не смог дать полную информацию в своем вопросе, он не мог ожидать, что он даст ответ.
Я кодирую в AngularJs 1.x, и я использую NgMap .
Итак, когда Крейг предлагает дождаться полной загрузки карты, я подозреваю, что директива NgMap <map>
об этом позаботится.
Что сработало для меня - хотя я не знаю, как - было заменить объявление
var geocoder = new google.maps.Geocoder();
и geocoder.geocode( { 'address': comapnyLocation}, function(results, status)
на
var url = 'https://maps.googleapis.com/maps/api/geocode/json?address=' +
comapnyLocation +'&key=XXXX';
$http.get(url)
, что дает результаты, которые указал Крейг (в data.results
).
Просто оставьте это здесь на случай, если это поможет кому-нибудь в будущем.