Отслеживание данных Smartsheet: AttributeError: объект dict не имеет атрибута append

Я новичок в Python и работаю с Smartsheet Data Tracker, чтобы обновить лист из файла CSV.

У меня проблемы с управлением списком массивов в Python; Я не знаю об этой ошибке, я читал об этой ошибке в Stackru, но я не понимаю ее:

Ошибка:

"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 ответа

Что идет не так, что вы создаете list на который вы хотели бы append потом. Однако впоследствии вы перезаписываете его словарем, к которому вы не можете добавить. Вот почему вы получаете AttributeError,


Чтобы это исправить я бы переименовал твой словарь (self.csvData={stuff}) что вы создали после вашего list к чему-то еще, такому как self.metaвозможно. Кроме того, вы можете переименовать list,

Неважно, что, вам просто нужно удалить конфликт имен, чтобы обе переменные могли сосуществовать в пространстве имен.

На самом деле, это была проблема плохо прокомментированного кода в проекте Data Tracker, что вызвало путаницу в файле CSVCon.py. Параметры конфигурации CSV, содержащиеся в этих комментариях, являются примером того, что должно быть в settings/sources.json файл.

Раздел " Конфигурирование источника " в документации по проекту содержит более подробные сведения о настройке источника в файле sources.json.

Также есть раздел с объяснением источника CSV.

Запутывающие комментарии были обновлены, чтобы быть более понятными.

Другие вопросы по тегам