2 回答
TA贡献1946条经验 获得超4个赞
是的,您可以使用 google 的Sheets API来做您想做的事。但是,如果您担心必须始终进行连接和身份验证,并且只想要快速而肮脏的东西,只需将谷歌表导出为 csv,然后执行以下操作:
import csv
autocompletelist2 = {' ': [' ', ' ']}
with open('data.csv', mode='r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
autocompletelist2[row[0]] = [row[1], row[2]]
结果autocompletelist2将是您想要的字典输出:
{
' ': [' ', ' '],
'James': ['James@gmail.com', '555-555-5555'],
'Mike': ['Mike@gmail.com', '888-888-8888'] #...and so on...
}
TA贡献1836条经验 获得超13个赞
如果(正如您在评论中提到的)在更新时定期下载 Google Sheet 是合理的,最简单的解决方案可能是将其下载为 csv(逗号分隔值)文件并将其读入这样的字典:
autocompleteList2 = {}
with open('googlesheet.csv') as infile:
for line in infile:
items = line.split(',')
autocomleteList2[items[0]] = items[1:]
缺点是每次要使用字典时都必须读取 csv 文件。另一种方法是创建字典的泡菜:
import pickle
autocompleteList2 = {}
with open('googlesheet.csv') as infile:
for line in infile:
items = line.split(',')
autocomleteList2[items[0]] = items[1:]
with open('autocompleteList2.pkl', 'wb+') as outfile:
pickle.dump(autocompleteList2, outfile)
这将创建一个名为“autocompleteList2.pkl”的文件,然后可以通过执行以下操作随时加载该文件:
import pickle
with open('autocompleteList2.pkl', 'wb+') as infile:
autocompleteList2 = pickle.load(infile)
.pkl不过,在通过电子邮件发送文件时要小心;他们以不安全着称。发送 csv 文件和代码以创建泡菜文件,并让每个用户在自己的机器上创建泡菜。
添加回答
举报