Получение координат из Google Таблиц. проблемы с int float, отсекающим все. Как я могу передать реальное число? - PullRequest
0 голосов
/ 21 июня 2020

Это печатает мои широту и долготу из двух столбцов в Google Таблицах:

x1 = [item for item in wks.col_values(3) if item]
for item in x1[1:]:
    print(item)

x2 = [item for item in wks.col_values(4) if item]
for item in x2[1:]:
    print(item)

latitude_list = int(x1[1])
longitude_list = int(x2[1])


gmap3 = gmplot.GoogleMapPlotter(31.203993, -71.67483, 9)

gmap3.heatmap(latitude_list, longitude_list)

Результат:

ValueError: invalid literal for int() with base 10: '31.203993'

Это после того, как я попытался применить int к int (x1 [1] ) ... Я попытался добавить число с плавающей запятой, например:

int(float(x1[1]))

, но затем мои координаты обрезаются до первых двух чисел ... так что это только -71 или 31. Как я могу передать этот список из Таблицы Google в gmplot?

edit: вот как я получаю данные из Google Sheets:

credentials = ServiceAccountCredentials.from_json_keyfile_name('x.json', scope)
gc = gspread.authorize(credentials)
wks = gc.open("x").worksheet("x")

x1 = [item1 for item1 in wks.col_values(3) if item1]
for item1 in x1[1:]:
    print(item1)
    print(Decimal(item1))

1 Ответ

0 голосов
/ 21 июня 2020

Я не работал с gmplot, но попробуйте передать значения decimal или float.

int значения не могут иметь фрагмент, поскольку int может представлять только целые числа.

параметры должны быть десятичными или с плавающей запятой

...