从现场提取数据 Google Sheet 并通过电子邮件发送
Pulling Data from a Live Google Sheet and Emailing It
我需要从 Google sheet 中提取用户名和扩展名,然后每周一次通过电子邮件将其发送给用户。我写了一个非常不优雅的解决方案,我将在下面附上。我确信可以通过编写良好的循环和一些逻辑来大幅减少它。我将不胜感激任何朝着正确方向的推动。我两天前开始从事这项工作,编程知识为零,所以请原谅任何明显的错误!
电子邮件问题:
我需要在每个主题行中放入每个 row_number([3])+'obfuscated.com',然后将 row_number([1]) 插入每个主体。
编辑:为了澄清起见,我只是手动在每一行变量中手动写入。用户数量每周变化,但我最多写了四十个,因为它永远不会超过那个。
import gspread
import json
from oauth2client.service_account import ServiceAccountCredentials
json_key = json.load(open('obfuscated'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('obfuscated.json',
scope)
gc = gspread.authorize(credentials)
sh = gc.open_by_key('obfuscated')
worksheet = sh.get_worksheet(0)
row_1 = worksheet.row_values(2)
print(row_1[3]+'@obfuscated')
print(row_1[1])
row_2 = worksheet.row_values(3)
print(row_2[3]+'@obfuscated')
print(row_2[1])
对不起 - 这是 .csv
https://www.dropbox.com/s/i5p3m32m2huiffr/example-march.csv?dl=0
@Racialz - 我需要附加“@obfuscated.com”的用户名和个人扩展名作为我可以插入到许多电子邮件中的变量。
给你,我花了很长时间才最终使用你的数据进行设置,并设置了一个 oauth 以与 gspread 一起使用,但之后就非常简单了。
currentRow = 2
while 1:
thisRow = worksheet.row_values(currentRow)
if (thisRow[1] == ""):
break
username = thisRow[3] + "@obfuscated.com"
personalExtension = thisRow[1]
#email sending code goes here
print(username, personalExtension)
currentRow += 1
您只需在索引 [3]
处获取用于用户名的项目和在索引 [1]
处用于个人分机的项目。它循环直到它遇到没有个人分机的一行。这将适用于任意数量的电子邮件。
我需要从 Google sheet 中提取用户名和扩展名,然后每周一次通过电子邮件将其发送给用户。我写了一个非常不优雅的解决方案,我将在下面附上。我确信可以通过编写良好的循环和一些逻辑来大幅减少它。我将不胜感激任何朝着正确方向的推动。我两天前开始从事这项工作,编程知识为零,所以请原谅任何明显的错误!
电子邮件问题: 我需要在每个主题行中放入每个 row_number([3])+'obfuscated.com',然后将 row_number([1]) 插入每个主体。
编辑:为了澄清起见,我只是手动在每一行变量中手动写入。用户数量每周变化,但我最多写了四十个,因为它永远不会超过那个。
import gspread
import json
from oauth2client.service_account import ServiceAccountCredentials
json_key = json.load(open('obfuscated'))
scope = ['https://spreadsheets.google.com/feeds']
credentials = ServiceAccountCredentials.from_json_keyfile_name('obfuscated.json',
scope)
gc = gspread.authorize(credentials)
sh = gc.open_by_key('obfuscated')
worksheet = sh.get_worksheet(0)
row_1 = worksheet.row_values(2)
print(row_1[3]+'@obfuscated')
print(row_1[1])
row_2 = worksheet.row_values(3)
print(row_2[3]+'@obfuscated')
print(row_2[1])
对不起 - 这是 .csv https://www.dropbox.com/s/i5p3m32m2huiffr/example-march.csv?dl=0
@Racialz - 我需要附加“@obfuscated.com”的用户名和个人扩展名作为我可以插入到许多电子邮件中的变量。
给你,我花了很长时间才最终使用你的数据进行设置,并设置了一个 oauth 以与 gspread 一起使用,但之后就非常简单了。
currentRow = 2
while 1:
thisRow = worksheet.row_values(currentRow)
if (thisRow[1] == ""):
break
username = thisRow[3] + "@obfuscated.com"
personalExtension = thisRow[1]
#email sending code goes here
print(username, personalExtension)
currentRow += 1
您只需在索引 [3]
处获取用于用户名的项目和在索引 [1]
处用于个人分机的项目。它循环直到它遇到没有个人分机的一行。这将适用于任意数量的电子邮件。