【问题标题】:Populate empty cell with a unique value in Google Sheets with Python使用 Python 在 Google 表格中填充具有唯一值的空单元格
【发布时间】:2020-04-14 14:13:12
【问题描述】:

我是使用 Python 和 Google Sheets API 的新手,我正在尝试使用电子邮件地址填充单元格,如果该单元格列中不存在该电子邮件地址。

我有:

ws = client.open('Workbook Name').worksheet('Worksheet Name')
ws.update_acell('A2', 'someemail@info.com') 

效果很好。从逻辑上讲,我希望它:

if email in range(A:A):
    'Email exists'
else:
    update next cell in range(A:A) that is empty

希望这是有道理的。

样本输出:

    |   A    |
     --------
 1  | email1 |
 2  | email2 |

如果 email3 不在范围内(A:A)更新到范围内的下一个可用单元格(A:A)

    |   A    |
     --------
 1  | email1 |
 2  | email2 |
 3  | email3 |

我不想硬编码 (A3)。我想动态找到下一个空闲单元格,最好使用 gspread 函数。

【问题讨论】:

  • 我必须为我糟糕的英语水平道歉。我无法从您的问题中了解您的目标。可以问一下I'd like it to:的详细情况吗?
  • 抱歉,要明确一点 - gspread 中是否有一个函数可以检查单元格范围内是否存在值(例如 A:A),如果不存在,则更新下一个空白单元格范围(A:A)
  • 感谢您的回复。不幸的是,我无法从您的回复中了解您的目标。这是因为我的英语水平不好。我对此深表歉意。为了正确理解您的目标,您能否提供您期望的示例输入和输出?借此,我想了解您的目标。
  • 您好 - 示例输出已添加。谢谢
  • 感谢您的回复和补充信息。根据您的附加信息,我提出了一个示例脚本作为答案。你能确认一下吗?如果我误解了您的问题并且这不是您想要的方向,我深表歉意。

标签: python-3.x google-sheets google-sheets-api gspread


【解决方案1】:
  • 当在“A”列中找不到值时,您希望将值附加到“A”列。
  • 您希望使用 gspread 和 python 来实现此目的。
  • 您已经能够使用 Sheets API 获取和放置 Google 电子表格的值。

在此答案中,通过col_values() 的方法检索值,并使用append_row() 方法附加值。

示例脚本:

spreadsheetId = "###"  # Please set the Spreadsheet ID.
sheetName = "Sheet1"  # Please set the sheet name.

client = gspread.authorize(credentials)
spreadsheet = client.open_by_key(spreadsheetId)
ws = spreadsheet.worksheet(sheetName)
value = "email3"
if value not in ws.col_values(1):
    ws.append_row([value], value_input_option="USER_ENTERED")
  • 在此脚本中,当email3 未包含在“A”列中时,email3 将附加到“A”列中。

参考资料:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    相关资源
    最近更新 更多