#python #cell #google-sheets-api
#python #ячейка #google-sheets-api
Вопрос:
Я пытаюсь создать скрипт для создания рейтинга на основе ячеек и на основе длины значения каждой выбранной мной ячейки. Проблема в том, что когда я использую этот код:
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]
creds = ServiceAccountCredentials.from_json_keyfile_name("creds.json", scope)
client = gspread.authorize(creds)
# get the instance of the Spreadsheet
sheet = client.open('Copy of Event Organizer')
# get the first sheet of the Spreadsheet
sheet_instance = sheet.get_worksheet(3)
words = ["C4", "C5", "C7", "C9", "C11", "C13", "C15", "C17", "C19", "C21", "C23", "C25"]
values = [1012, 12317, 1120, 1345, 134, 1120, 1420, 5, 531, 220, 15, 2354]
len_list = []
for i, word in enumerate(words):
try:
len_list.append(len(sheet_instance.acell(word).value))
except:
len_list.append(0)
len_list[i] = len_list[i] * values[i]
print(len_list)
print(sum(len_list))
sheet_instance.update_acell("C29", sum(len_list))
Код по какой-то причине сообщает мне, что первая ячейка (C4) пуста, даже если это не так, и поэтому вычисление становится неправильным. Почему это происходит? И иногда это происходит и с другими ячейками.
Комментарии:
1. Я должен извиниться за мое плохое знание английского языка. К сожалению, я не могу понять о.
The code for some reason tells me that the first cell (C4) is empty even when it is not, and so the calculation becomes wrong.
Могу я спросить вас о деталях вашей текущей проблемы и вашей цели?2.
for i, word in enumerate(words):
может быть сделано более читабельным с помощьюfor value, word in zip(values, words):
. Кроме того, нет необходимости добавлятьlen_list
только для того, чтобы впоследствии изменить его3. @Tanaike Я имею в виду, что, как и в ячейке C4, когда я запускаю свое приложение, скрипт не распознает, что C4 имеет значение.
4. @JiWei что ты имеешь в виду? пожалуйста, помогите мне
5. Спасибо за ответ. Я должен извиниться за мое плохое знание английского языка. К сожалению, я не могу этого понять
I mean like there is the cell C4, when I run my app, the script doesn't recognize that C4 has a value.
. Я приношу свои извинения за это.