Как исправить ошибку 'float' object has no attribute 'encode'
Записываю данные из csv в бинарный файл.
Как только доходит до пустого столбца (8-ой столбец на примере ниже), где нет ничего, а только разделитель, то выдает ошибку:
'float' object has no attribute 'encode'
Вот пример из csv, на котором происходит ошибка:
78;99;Ararat Yerevan;FF;Ararat;FF;Ararat;;128;128
В файле не всегда 8 столбец пустой, в основном там какие либо названия, как в третьем столбце, но иногда бывает пустым и тогда ошибку выдает.
Записываю так:
def writeStr(file, s):
encodedStr = s.encode("UTF-8")
writeInt(file, 4, len(encodedStr))
file.write(encodedStr)
writeStr(datFile, club['Position-8'])
Пробовал заполнять в csv файле пустой столбец чем либо, будь то 0, тогда все проходит нормально. Но когда столбец пустой, тогда выдает такую ошибку. Как можно исправить?
Также пробовал так:
writeStr(datFile, str(club['Position-8']))
Ошибки нет, в бинарный файл записывает, но неверно. Нужно чтобы пустые столбцы записывались как 0, а получается почему то 7233902.
Ответы (1 шт):
Почему бы не попробовать обработать через исключение?
def writeStr(file, s):
try:
encodedStr = s.encode("UTF-8")
except AttributeError: # Если пустая строка то..
encodedStr = "0".encode("UTF-8")
writeInt(file, 4, len(encodedStr))
file.write(encodedStr)