【问题标题】:gspread to google sheets, text wrapping help needgspread 到谷歌表格,需要文本换行帮助
【发布时间】:2021-05-26 23:35:41
【问题描述】:

我正在尝试将 CSV 导入 Google 工作表(这工作正常)

在此之后,我希望工作表中的所有单元格都换行。

我尝试了多种不同的方法,但是,我总是遇到某种错误。

这是我正在运行的代码:

import gspread
gc = gspread.service_account(filename='C:/pathtomyfile.json')
sh = gc.open("gsheetsname")
worksheet = sh.get_worksheet(0)

content = open('csvfilename.csv', 'rb').read()
gc.import_csv(sh.id, content)

worksheet.format("A:E", {"wrapStrategy": "WRAP"})

我似乎遇到的错误大致如下: gspread.exceptions.APIError:

 {'code': 400, 'message': 'Invalid requests[0].repeatCell: No grid with id: 828077185', 'status': 'INVALID_ARGUMENT'}

我尝试重命名谷歌工作表,重命名工作表,尝试不同的模块,还尝试导入 gspread-formatting,但似乎没有任何效果

【问题讨论】:

    标签: python csv google-sheets google-sheets-api gspread


    【解决方案1】:

    我认为在您的脚本中,gc.import_csv(sh.id, content) 可能是您的问题的原因。运行gc.import_csv(sh.id, content) 时,似乎通过包含content 的值插入了新工作表,并删除了现有工作表。由此,worksheet = sh.get_worksheet(0) 中的worksheet 被删除。我以为这就是你发No grid with id: 828077185的原因。

    为了避免这种情况,下面修改脚本怎么样?

    修改脚本:

    gc = gspread.service_account(filename='C:/pathtomyfile.json')
    sh = gc.open("gsheetsname")
    content = open('csvfilename.csv', 'rb').read()
    gc.import_csv(sh.id, content)
    
    worksheet = sh.get_worksheet(0) # I moved this line here.
    
    worksheet.format("A:E", {"wrapStrategy": "WRAP"})
    

    参考:

    【讨论】:

    • 这确实解决了问题,太棒了,谢谢!虽然我打开了这个线程,但您是否偶然知道如何使列 A 和列 C 的宽度增加一倍?并从 Z-A 过滤色谱柱 E?我查看了 Google 的 API 列表,但找不到这些
    • @RH 感谢您的回复。我很高兴你的问题得到了解决。我愿意支持你。但是回复的问题是新问题,和你的问题不同。那么您可以将其发布为新问题吗?因为当您的初始问题被评论更改时,看到您的问题的其他用户会感到困惑。通过将其发布为新问题,包括我在内的用户都可以想到它。当时,please close this question。如果你能合作解决你的新问题,我很高兴。你能合作解决你的新问题吗?
    • @RH 感谢您的回复。
    猜你喜欢
    • 2013-08-18
    • 2019-11-10
    • 2022-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多