如何在Python中使用wrap_strategy来处理谷歌表格?

2024-03-01

我有一个 python 代码,它使用驱动器和工作表 api 来列出文件夹内的文件。我在这个文件夹中有多个谷歌工作表,其中一些在文本之间有空格,就像图片中给出的那样。我想使用 googlesheet api 将所有单元格的文本换行更改为溢出,即 python 中的工作表对象。我可以看到有一种方法(wrap_strategy)将其设置为overflow_cell,但我不知道如何使用它。在这种情况下有人可以帮忙吗?

我可以看到应用程序脚本中的文档,但不能使用 python。

def process_file(file):
    file["name"] = file["name"] + '.' + file["id"] #prefix the file name 
    print(file["name"])
sheet = open_sheet(file['id'])
if sheet is None:
    print("Unable to open sheet: " + file['id'])
    return

实际结果将格式化此文件夹内的所有谷歌工作表,其中文本格式作为所有单元格的溢出


  • 您想要设置电子表格上工作表的换行策略。
  • 您想要将工作表的所有单元格的换行策略设置为“溢出”。
  • 您想使用 gspread 来实现这一点。

从你的问题和标签来看,我的理解如上。

在此示例脚本中,假设将“溢出”的换行策略设置为“Sheet1”的所有单元格。什么时候batch_update()用于gspread,需要创建请求体。

示例脚本:

spreadsheetId = "###"  # Please set this
sheetName = "Sheet1"  # Please set this

client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
sheetId = ss.worksheet(sheetName)._properties['sheetId']
body = {
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": sheetId,
          "startRowIndex": 0,
          "startColumnIndex": 0
        },
        "rows": [
          {
            "values": [
              {
                "userEnteredFormat": {
                  "wrapStrategy": "OVERFLOW_CELL"
                }
              }
            ]
          }
        ],
        "fields": "userEnteredFormat.wrapStrategy"
      }
    }
  ]
}
res = spreadsheet.batch_update(body)

Note:

  • 此示例脚本假设您已经能够使用 Sheets API 读取和写入电子表格。

参考:

  • 重复单元格请求 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/request#repeatcellrequest
  • 包裹策略 https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/cells#wrapstrategy
  • 批量更新(主体) https://gspread.readthedocs.io/en/latest/api.html?highlight=batchupdate#gspread.models.Spreadsheet.batch_update
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中使用wrap_strategy来处理谷歌表格? 的相关文章

随机推荐

  • 棘手的 CRC 算法

    我正在尝试找到适用于以下结果的 crc 字节串由 2 个字节组成 即 0xCE1E crc 是单个字节 即 0x03 byte crc CE1E 03 CE20 45 CE22 6F 0000 C0 0001 D4 FFFF 95 有人可以
  • Perl 的未来? (Perl 6,就业能力)

    我发现了一些相关的问题 比如Python 与 Perl https stackoverflow com questions 150043 python v perl 现已删除 和Perl 值得吗 https stackoverflow co
  • Google 地图上的多个标记:仅显示最后一个标记

    我在地图上显示多个标记时遇到问题 该代码首先循环遍历一个数组 然后对纬度 经度值进行反向地理编码 然后显示标记并将 infoWindow 的内容设置为返回的地址 我的代码如下 for var i 0 i lt useNowArray len
  • @tailrec 如何工作

    我已经使用并阅读了 tailrec注释具有尾递归方法 我浏览了许多解释它的链接 例如 它仅在自调用函数时有效 并且不应被覆盖等 到处都提到compiler optimizes 但是编译器做了什么魔法 概念来使其成为尾递归 对于下面的简单函数
  • 无法从 powershell 运行 Elixir 应用程序

    当我打字时iex S mix在 PowerShell 中我收到此错误 Invoke Expression A positional parameter cannot be found that accepts argument mix At
  • 每行后动态重复标题行

    如何在 gridview 的每一行之后重复标题行 您可以将代码添加到网格的 rowdatabound event 中 protected void GridView RowDataBound object sender GridViewRo
  • Extjs XTemplate 两个同级数组循环?

    我想将 XTempate 与以下 json 数据一起使用 在另一个数组中循环一个数组 var data name xxx rowTitleArr 1 2 3 colTitleArr a b c var tpl name
  • 如何压缩包含超过 12GB 数据的文件夹

    我需要压缩一个包含大量文件的文件夹 当我尝试在命令行中进行压缩时 它显示压缩错误 输入文件读取失败 我搜索网络并发现 ZIP 文件格式 仅处理可以的文件长度 包含在 32 位整数中 如果是这样 那么它一定是我收到错误的原因 因为我的文件夹大
  • 如何使用asihttprequest接受自签名证书

    我正在尝试获取自签名证书来使用我的应用程序 我现在正在使用 ASIHTTPRequest 库 如下所示 IBAction sendHttpsRequest Set request address NSMutableString databa
  • 现在 CGI 脚本有哪些用途?

    我非常熟悉一般的 Web 编程语言 但我现在使用的工具之一是 CGI 我只能说 CGI 脚本相当慢 CGI 如今仍然普遍使用吗 如果不是的话 被什么取代了 是否存在 CGI 仍然存在并被积极使用的利基功能 CGI是协议 它是创建动态页面最基
  • 使用循环合并和创建表

    我尝试搜索如何使用循环合并和创建多个表 但找不到我正在寻找的内容 我有四个表 表 1 1 1 2 1 3 和表 2 表1 1 1 2和1 3共享相同的列但具有不同的行 表 2 与表 1 1 1 2 和 1 3 具有相同的第一列 具体来说 表
  • 防止线程在处理异常后分离时调用 std::terminate()

    我有自己的线程类 旨在帮助安全地管理异常 它看起来像这样 为了简单起见 跳过了其他构造函数和互斥体 class ExceptThread public std thread public template
  • 打开磁力链接而不失去焦点

    javascript 或其他 有没有办法在浏览器失去焦点的情况下处理磁力链接 这有点像在后台打开一个选项卡而不离开当前页面 我最近遇到了类似的问题 并且能够通过在页面上创建命名框架并将其用作目标来解决该问题window open windo
  • 正则表达式:一次性获取没有扩展名的文件名?

    我只想使用正则表达式获取文件名 所以我一直在尝试简单的事情 例如 当然 只有当文件名具有一个扩展名时才有效 但如果是的话adfadsfads blah txt我只是想adfadsfads blah 我怎样才能用正则表达式做到这一点 关于大卫
  • 检查 C 中的溢出

    让我们有 int a b c may be char or float anything actually c a b 让int类型用4个字节表示 假设 a b 需要比 4 个字节多 1 位 即 假设结果是 1 00 0 32 个零 二进制
  • Surface SDK 可以在 Visual Studio 2012 上运行吗?

    我需要使用 Surface SDK 创建一个 WPF 应用程序 我正在使用 Visual Studio 2012 并且根据this https stackoverflow com questions 11624895 how can i u
  • AndroidNotification.Builder与NotificationCompat.Builder[重复]

    这个问题在这里已经有答案了 我看到的几乎所有 Android 通知示例代码似乎都使用了NotificationCompat 我已经使用Notification Builder编写了自己的代码 我不清楚使用NotificationCompat
  • 我应该如何多次插入多条记录?

    我有一个名为Entry声明如下 class Entry string Id get set string Name get set 然后是一个接受多个这样的方法Entry使用 ADO NET 插入数据库的对象 static void Ins
  • 两次之间经过的小时数,与国家/地区和时区无关

    我们如何确定两次之间经过的小时数 例如 旧金山下午 3 30 迪拜下午 7 30 我不清楚的部分是 是否存在通过考虑时区和国家来计算减去的时间跨度的通用方法 我使用 C 作为主要语言 任何帮助将不胜感激 提前致谢 您询问的是 旧金山下午 3
  • 如何在Python中使用wrap_strategy来处理谷歌表格?

    我有一个 python 代码 它使用驱动器和工作表 api 来列出文件夹内的文件 我在这个文件夹中有多个谷歌工作表 其中一些在文本之间有空格 就像图片中给出的那样 我想使用 googlesheet api 将所有单元格的文本换行更改为溢出