как добавить данные по одному в листах Google, используя python - PullRequest
2 голосов
/ 31 января 2020

Вот изображение листа Google, оно все еще обновляет ту же строку, но я хочу добавить данные по одному введите описание изображения здесь

def AddEventReasonRecord(self, EventReasonList):
    try:
        GlobalObj = Global()
        records = []
        rows = len(EventReasonList)
        sheet_tile = self.GoogleSheetTitle()
        ItemRow = int(GlobalObj.LasItemRow)
        if rows > 0:
            for index in range(rows):
                ItemRow = ItemRow + 1
                sheet_row = ItemRow + 1
                Obj: EventReason = EventReasonList[index]
                records.append(Cell(sheet_row, 1, Obj.EventID))
                records.append(Cell(sheet_row, 2, Obj.EventName))
                records.append(Cell(sheet_row, 3, Obj.Description))
                records.append(Cell(sheet_row, 4, Obj.Status))
                records.append(Cell(sheet_row, 5, Obj.Event))
                records.append(Cell(sheet_row, 6, Obj.EmpStatus))
                records.append(Cell(sheet_row, 7, Obj.Position))
                records.append(Cell(sheet_row, 8, Obj.PayrollEvent))
                records.append(Cell(sheet_row, 9, Obj.JobPortlet))


            sheet_tile.update_cells(records)

[![enter code here][1]][1]

1 Ответ

3 голосов
/ 01 февраля 2020
  • Вы хотите добавить значения records к листу sheet_tile.
  • Вы хотите добиться этого, используя gspread с python.
  • . У вас есть уже удалось получить и поместить значения с помощью API Sheets.

Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.

Точка модификации:

  • Чтобы добавить значения к листу, используется метод append_row.

Когда ваш скрипт изменяется, как насчет следующей модификации?

Шаблон 1:

Измененный скрипт:

От:
sheet_tile.update_cells(records)
До:
sheet_tile.append_row([e.value for e in records], value_input_option="USER_ENTERED")

Шаблон 2:

Как другой шаблон модификации, как насчет следующего шаблона?

Модифицированный скрипт:

От:
for index in range(rows):
     ItemRow = ItemRow + 1
     sheet_row = ItemRow + 1
     Obj: EventReason = EventReasonList[index]
     records.append(Cell(sheet_row, 1, Obj.EventID))
     records.append(Cell(sheet_row, 2, Obj.EventName))
     records.append(Cell(sheet_row, 3, Obj.Description))
     records.append(Cell(sheet_row, 4, Obj.Status))
     records.append(Cell(sheet_row, 5, Obj.Event))
     records.append(Cell(sheet_row, 6, Obj.EmpStatus))
     records.append(Cell(sheet_row, 7, Obj.Position))
     records.append(Cell(sheet_row, 8, Obj.PayrollEvent))
     records.append(Cell(sheet_row, 9, Obj.JobPortlet))

sheet_tile.update_cells(records)
До:
for index in range(rows):
     # ItemRow = ItemRow + 1
     # sheet_row = ItemRow + 1
     Obj: EventReason = EventReasonList[index]
     records.append(Obj.EventID)
     records.append(Obj.EventName)
     records.append(Obj.Description)
     records.append(Obj.Status)
     records.append(Obj.Event)
     records.append(Obj.EmpStatus)
     records.append(Obj.Position)
     records.append(Obj.PayrollEvent)
     records.append(Obj.JobPortlet)

sheet_tile.append_row(records, value_input_option="USER_ENTERED")

Ссылки:

Если я неправильно понял ваш вопрос, и это не было Направление вы хотите, я прошу прощения.

...