从 Google 表格中提取坐标。 int float 的问题切断了一切。我怎样才能通过实数?
Posted
技术标签:
【中文标题】从 Google 表格中提取坐标。 int float 的问题切断了一切。我怎样才能通过实数?【英文标题】:Pulling coordinates from Google Sheets. issues with int float cutting everything off. How can I pass as real number? 【发布时间】:2020-06-21 15:10:31 【问题描述】:这会从 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?
编辑:这就是我从 Google 表格中检索数据的方式:
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))
【问题讨论】:
您能发一份您的工作表样本吗?您如何检索 Google 表格中的值? 添加检索方法进行编辑 【参考方案1】:我没有使用过 gmplot,但尝试传递 decimal
或 float
值。
int
值不能有片段,因为int
只能表示整数。
参数必须是decimal 或float
【讨论】:
浮动不起作用。尝试十进制:json.decoder.JSONDecodeError: Expecting value: line 1 column 2 (char 1) 。 :头痛: 小数部分可以工作,但现在我面临这个问题:TypeError: 'decimal.Decimal' object is not iterable >>> 该错误通常表明传入的值应该是列表或数组,但您发送的是单个值。在这种情况下,我认为一个方法需要一个十进制值列表,而不是单个值。 我对 gmplot 很感兴趣,所以我去了 github 存储库并查看了代码。 github.com/gmplot/gmplot/blob/… 看起来它需要一个元组列表。 元组列表...好的。我将开始研究如何将我的 Google Sheet 字符串列表转换为元组列表。谢谢!以上是关于从 Google 表格中提取坐标。 int float 的问题切断了一切。我怎样才能通过实数?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Google Apps 脚本中使用 Cheerio 提取 HTML 表格数据(雅虎财经)?
使用 PHP 从 ATOM 提要中提取数据并使用它反向查找坐标到实际地址