首页 > 解决方案 > 如何识别 Google 表格中的第一个空列以使用 Python 附加数据框?

问题描述

我想将一个数据框附加到已经有一些值的 Google 工作表中。我想识别第一个空列并将数据框附加到那里

目前我正在使用代码将数据框粘贴到 Google 工作表:

import pygsheets 

gc = pygsheets.authorize(service_file='client_secret.json')
sh = gc.open_by_url('URL') 

wks = sh[0] #Selecting the sheet 
wks.set_dataframe(df, 'A1')

# A1是粘贴数据框的单元格

我希望能够识别此列 'A1' - 其中 A 是 Google 工作表中的第一个空列并将我的数据框粘贴到那里

我如何使用 Python 做到这一点?我目前正在使用 pygsheets,尽管我对使用任何其他包的解决方案持开放态度。

标签: pythongoogle-sheetspygsheets

解决方案


  • 您想要放置第一个空列中的值。
  • 例如,列“A”、“B”和“C”有值,您想从列“D1”中放入新值。
  • 您想使用 Python 和 pygsheets 来实现这一点。

如果我的理解是正确的,那么这个修改呢?该修改的流程如下。

  1. 使用 检索现有值get_all_values()
  2. 检索第一个空列号。
  3. 将列号转换为列字母。
  4. 将附加值放入检索到的列。

修改后的脚本:

请在您的问题中修改您的脚本,如下所示。

从:
wks.set_dataframe(df, 'A1')
至:
import numpy as np  # Added

v = wks.get_all_values()
ar = np.array(v).transpose()
for i, e in enumerate(ar):
    r = any(x for x in e)
    if r is False:

        # https://stackoverflow.com/a/23862195/7108653
        n = i + 1
        string = ''
        while n > 0:
            n, remainder = divmod(n - 1, 26)
            string = chr(65 + remainder) + string

        wks.set_dataframe(df, string + "1")
        break

笔记:

  • 我对上述修改后的脚本使用了“numpy”。

如果我误解了您的问题并且这不是您想要的结果,我深表歉意。


推荐阅读