无法将日期添加到列表中!
有没有什么原因导致日期不能添加到列表里呢?
vdate = str(dates.date)
vdats = vdate.split("")
vdats = vdats[0]
vbalance.append(vdats)
就是没法用?
我哪里做错了呢?
更新一下
错误信息:AttributeError: 'Decimal'对象没有'append'这个属性
3 个回答
1
vdats=vdate.split("")
你不能用一个空的分隔符来进行分割。这会引发一个叫做ValueError的错误。
1
很明显,vbalance
不是一个 list
(列表)。往一个 Decimal
(小数)里添加东西是没有意义的,所以这个操作是不被支持的。也许你是想把 vdats
加到它里面呢:
vbalance += vdats
5
更新:
我觉得你遇到的错误很明显:vbalance
就是不是一个列表。所以你不能往里面添加东西。
你的代码想要实现什么呢?你想达到什么目的?
可能你是想往vbalance
里添加
东西:
vbalance += int(vdats)
或者你需要先创建一个列表:
l = list()
vdate = str(dates.date)
vdats = vdate.split("")
vdats = vdats[0]
l.append(vdats)
又或者你需要在之前的代码中以不同的方式声明vbalance
。
根据你发的内容,我猜你会遇到一个ValueError
错误:
>>> string = "ab cd asd"
>>> print string.split('')
Traceback (most recent call last):
Line 2, in <module>
print string.split('')
ValueError: empty separator
假设vdate
里有一个有效的字符串,而vbalance
是一个列表,如果你只是想根据空格来分割这个字符串,可以使用:
vdats = vdate.split()
否则你需要指定你想用哪个分隔符,但显然,这个字符串不能是空的。
文档说明:str.split()