Smartsheet数据跟踪器:AttributeError:' dict'对象没有属性'追加'

时间:2014-04-11 15:19:44

标签: python smartsheet-api smartsheet-api-1.1

我是Python新手,我正在使用Smartsheet Data Tracker从CSV文件更新工作表。

我在Python中有关于数组列表管理的问题;我不知道这个错误,我在StackOverflow上读到了这个错误,但我不理解它:

错误:

"File "C:\Users\David\DataTraker\connectors\CSVCon.py", line 61, in __init__     
    self.csvData.append(readerRow)
AttributeError: 'dict' object has no attribute 'append'"

我的代码:

def __init__(self, sourceConfig):
    self.csvData = []


    self.csvData = {"sourceId": "siniestros",
                    "connectorClassName": "CSVCon",
                    "fileName": "siniestros.csv",
                    "isStrict": False}

    for readerRow in sourceReader:
        self.csvData.append(readerRow)

2 个答案:

答案 0 :(得分:2)

出现问题的是,您希望稍后list创建append。但是,之后使用字典覆盖它,您无法追加到该字典。这就是你获得AttributeError

的原因

要解决此问题,我可能会将您在self.csvData={stuff}之后创建的词典(list)重命名为self.meta之类的其他内容。或者,您可以重命名list

无论哪个,您只需要删除命名冲突,这样两个变量就可以在命名空间中共存。

答案 1 :(得分:1)

实际上,这更像是Data Tracker项目中评论不佳的问题导致CSVCon.py文件混淆的问题。这些注释中的CSV配置设置是settings/sources.json文件中应包含的内容的一个示例。

项目文档中的Configure Source部分提供了有关在sources.json文件中设置源代码的更多详细信息。

还有一个section专门解释CSV source

令人困惑的评论已更新为更清晰。