如何提取 Smartsheet 中的所有值

How to extract all the values in a Smartsheet

我正在尝试从 Smartsheet 中按列提取数据。我使用了下面的代码,但我得到的是逐行值。如何以列格式获取它?

MySheet = ss_client.Sheets.get_sheet(Sheet_ID)
for MyRow in MySheet.rows:
    for MyCell in MyRow.cells:
        print(MyRow.id, MyCell.value)
    print('')

一行中的每个单元格都有一个对应的 columnId,与 sheet 中的其中一个列 ID 相匹配。您需要 retrieve the column id 您要查找的列,然后检查该 ID。

详情见API documentation

要补充 Software2 所说的内容,您的代码应如下所示:

sheet_ID = xxxxxxxxxxxxxxxx
col_id = xxxxxxxxxxxxxxxx

MySheet = ss_client.Sheets.get_sheet(sheet_ID)

for MyRow in MySheet.rows:
    for MyCell in MyRow.cells:
        if MyCell.column_id == col_id:
            if (MyCell.value):
                print (MyRow.id, MyCell.value, MyCell.column_id)
    print('')

按照有关如何将 Smartsheet sheet 打印为 Pandas DataFrame 的示例进行操作。

安装

要求

pip 安装smartsheet-dataframe

pip 安装pandas

from smartsheet_dataframe import get_as_df, get_sheet_as_df

sheet_id = "" #Copy the sheet id from the Smartsheet website and paste between "".
token_code = "" #Generate token code from the Smartsheet website and paste between "".
df = get_as_df(type_='sheet',
           token=token_code,
           id_=sheet_id)
print(df)

来源:https://libraries.io/pypi/smartsheet-dataframe