如何使用Python识别Google表格中的第一个空列以追加数据框?

时间:2019-06-13 02:09:47

标签: python google-sheets pygsheets

我想将数据框附加到已经具有某些值的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,尽管我愿意使用其他任何软件包来解决方案。

1 个答案:

答案 0 :(得分:1)

  • 您要从第一个空列中输入值。
  • 例如,列“ 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”用于上述修改的脚本。

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