使用gspread API在Google Sheets中对数字进行四舍五入。

4

我正在使用gspread将pandas dataframe写入Google Sheets:

from gspread_formatting import *
import gspread
from df2gspread import df2gspread as d2g
import pandas as pd

d2g.upload(data, sheet.id, 'test_name', clean=True, credentials=creds, col_names=True, row_names=False)

虽然pandas数据框舍入到2个小数点,但在Google Sheets中的值有时超过了这个范围。

df

a               b
100.56          600.79

在 Google Sheets 中的结果:

aa                b
100.5616          600.79

我找不到关于如何使用Python gspread API取整的任何信息。


你不能使用Python gspread API来对数值进行四舍五入,但你可以在此之前进行处理。实际上,我认为达到你所需的安全方式是将数据转换为带有两位小数的格式化字符串,并发送字符串值到gspread。 - GoranK
我在将数据框推送到Google表格之前,将每个值舍入为2个小数点,但是我不得不修改“d2g”库以能够推送“int”值而不是“str”。 - Jonas Palačionis
你能在某个地方将ValueInputOption设置为USER_ENTERED吗?https://developers.google.com/sheets/api/reference/rest/v4/ValueInputOption - GoranK
1个回答

5
如果您获取工作表元素,您可以使用格式实现您想要的效果。
sh = gc.open("sheet_name")
worksheet = sh.get_worksheet(0) # your sheet number
worksheet.format('A', {'numberFormat': {'type' : 'NUMBER', 'pattern': '0.0#'}})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接