Перебор вложенного списка с помощью Python

#python #python-3.x #smartsheet-api

#python #python-3.x #smartsheet-api

Вопрос:

Я пытаюсь с помощью своего кода обновить smartsheet. У меня есть мои данные во вложенном списке, и я хочу каждый раз передавать их в функцию new_rows (значение за значением). Я не смог выполнить итерацию обычными методами, поскольку я искал в Интернете, потому что я думаю, что я что-то пропустил. Что происходит сейчас, он просто отправляет запись в первой строке, а затем останавливается. Итак, я понимаю, что нужно перебирать вложенный список и делать это в цикле, но я не мог понять, как это сделать. Кто-нибудь может мне помочь?

 import csv
import os
from simple_smartsheet import Smartsheet
from simple_smartsheet.models import Sheet, Column, Row, Cell, ColumnType
data = pd.read_csv(r'C:TempBook1.csv')
df = pd.DataFrame(data, columns=['Name', 'TCU', 'Vendor', 'App', 'App_Version'])
example = df.values.tolist()
print(example)
TOKEN = os.getenv("")
SHEET_ID = "Book1"
smartsheet = Smartsheet("**************")

# retrieve a list of sheets (limited set of attributes)
sheet = smartsheet.sheets.get(SHEET_ID)
print(sheet)
new_rows = [
    Row(
        to_top=True,
        cells=[
            sheet.make_cell("Name", example[0][0]), 
            sheet.make_cell("TCU", example[0][0]),
            sheet.make_cell("Vendor", example[0][0]),
            sheet.make_cell("App",example[0][0]),
            sheet.make_cell("App_Version", example[0][0]),
        ],
    ),
]
smartsheet.sheets.add_rows(sheet.id, new_rows)
  

Ответ №1:

Вы указываете только первый элемент в своем списке и никогда не выполняете итерацию по остальным элементам.

 new_rows = []
for element in example:
    row = Row(to_top=True,
        cells=[
            sheet.make_cell("Name", element[0]),
            sheet.make_cell("TCU", element[1])
        ])
    new_rows.append(row)
  

Обратите внимание, что в этом примере представлено несколько разных способов доступа к вашему списку, и, возможно, потребуется изменить его, чтобы соответствовать форме того, что содержится внутри example .