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)
4

2 回答 2

2

出了问题的是你创建了一个list你以后想要的append。但是,您之后用无法附加的字典覆盖它。这就是为什么你得到一个AttributeError.


为了解决这个问题,我会将您self.csvData={stuff}在您之后创建的字典 ()重命名list为其他名称,例如self.meta,也许。或者,您可以重命名您的list.

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

于 2014-04-11T15:23:25.170 回答
1

实际上,这更多是Data Tracker项目中代码注释不佳的问题,导致CSVCon.py文件出现混乱。这些注释中的 CSV 配置设置是settings/sources.json文件中应包含内容的示例。

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

还有一个部分专门解释了CSV 源

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

于 2014-04-17T23:38:36.640 回答