Smartsheet 数据跟踪器:AttributeError: 'dict' 对象没有 'append' 属性
我刚开始学习Python,现在正在用Smartsheet数据跟踪器从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 个回答
2
出问题的地方在于,你创建了一个 list
(列表),想要在后面往里面添加内容。但是之后你用一个字典覆盖了这个列表,而字典是不能添加内容的。这就是你为什么会遇到 AttributeError
(属性错误)的原因。
要解决这个问题,我建议你把你在列表之后创建的字典(self.csvData={stuff}
)改个名字,比如可以叫 self.meta
。另外,你也可以把你的 list
改个名字。
这两种方法都可以,关键是要消除名字冲突,这样这两个变量才能在同一个命名空间里共存。