我正在尝试用我的代码更新智能表。我将数据存储在一个嵌套列表中,并且希望每次(按值)将其传递给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:\Temp\Book1.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)
答案 0 :(得分:0)
您仅指定列表中的第一个元素,而不会遍历其余元素。
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
中包含的内容的形状。