擅长:python、mysql、java
<p>您的<code>TypeError</code>正在发生,因为您正在尝试索引字典,<code>x</code>使用列表,<code>list_of_attributes</code>与{<cd4>}建立索引。这不是python的工作方式。在本例中,您正在迭代<code>readable_json</code>,它将在每次迭代中返回一个字典。不需要从这些数据中提取值来写出它们。在</p>
<p><a href="https://docs.python.org/2/library/csv.html#csv.DictWriter" rel="nofollow">DictWriter</a>应该能给你想要的东西。在</p>
<pre><code>import csv
[...]
def encode_dict(d, out_encoding="utf8"):
'''Encode dictionary to desired encoding, assumes incoming data in unicode'''
encoded_d = {}
for k, v in d.iteritems():
k = k.encode(out_encoding)
v = unicode(v).encode(out_encoding)
encoded_d[k] = v
return encoded_d
list_of_attributes = readable_json[0].keys()
# sort fields in desired order
list_of_attributes.sort()
with open('WCData_Rows.csv',"wb+") as csv_out:
writer = csv.DictWriter(csv_out, fieldnames=list_of_attributes)
writer.writeheader()
for data in readable_json:
writer.writerow(encode_dict(data))
</code></pre>
<p><em>注意:</em>
这假设<code>readable_json</code>中的每个条目都有相同的字段。在</p>