我正在尝试将Solr服务器的响应写入CSV文件。我是python的新手,并且已经获得了修改代码。最初代码看起来像这样......
for doc in response.results:
status = json.loads(doc['status'])
脚本运行并打印正确的信息。但它只会打印一个结果(最后一个)。我认为这是因为循环不断地写出变量'status',直到它通过响应。
经过一番阅读后,我决定将这些信息存储在一个列表中。这样我就可以打印信息来分隔列表中的行。我创建了一个空列表并更改了下面的代码 -
for doc in response.results:
list.append = json.loads(doc['status'])
我在尝试运行代码后得到了这个回复 -
`AttributeError: 'list' object attribute 'append' is read-only`.
我哪里错了?列表不是最好的方法吗?
答案 0 :(得分:7)
>>> list.append
<method 'append' of 'list' objects>
您正在尝试修改内置append
类的list
方法!
只做
docstats = []
for doc in response.results:
docstats.append(json.loads(doc['status']))
或等效地:
docstats = [json.loads(doc['status']) for doc in response.results]
答案 1 :(得分:1)
我不确定你要做什么。
我猜你还没有创建list
变量。 list
是一个python的内置类列表,所以如果没有变量来掩盖它,你将访问它。并且你试图修改它的一个属性,这是不允许的(它不像红宝石,你可以修补任何东西)。
l=[]
for doc in response.results:
l.append(json.loads(doc[‘status’]))
答案 2 :(得分:0)
尝试
list.append(json.loads(doc['status']))