gspread 设置列 type/format

gspread set column type/format

我正在使用 gpread 将数据写入 google sheet。 数据写入正确,但我需要将整个特定列设置为“数字”类型,以便可以默认排序,而不必每次都手动更改列格式。此列只有数字(header 除外)。

这是我更新 sheet 并尝试设置列类型的代码。数据写入正确,但我无法正确更改列 R 的格式(它将它们视为字符串,因此将它们排序为 101,50,9 而不是 9,50,101):

sheet.clear()

sheet.update([lol.columns.values.tolist()] + lol.values.tolist())
sheet.format("R", { "numberFormat": { "type": "NUMBER" }})

如何将 R 列格式更改为数字?

而不是这个:

sheet.format("R", { "numberFormat": { "type": "NUMBER" }})

试试这个:

sheet.format("R", { "numberFormat": { "type": "NUMBER","pattern": "#,##0" }})

当您不知道如何使用客户端库格式化某些内容时,我的建议是使用 Google API.

获取其当前格式

例如您有一个包含所需数字格式的单元格。

然后使用这个API你填写如下:

spreadsheetId = Your spreadsheet ID
ranges = Your Cell reference goes here
fields = *

执行它,然后您将看到结果:

      "data": [
        {
          "startRow": x,
          "startColumn": x,
          "rowData": [
            {
              "values": [
                {
                  "userEnteredValue": {
                    "numberValue": xxxxxxxxx
                  },
                  "effectiveValue": {
                    "numberValue": 950101
                  },
                  "formattedValue": "950,101",
                  "userEnteredFormat": {
                    "numberFormat": {
                      "type": "NUMBER",
                      "pattern": "#,##0"
                    }

这就是您要使用的:

                    "numberFormat": {
                      "type": "NUMBER",
                      "pattern": "#,##0"

- Number format tokens