我正在尝试将JSON写入csv:
with open('data.csv', 'w') as output_file:
print 'output:', output_file
output = csv.DictWriter(output_file, order_fields = sorted(fieldnames), restval = '')
output.writeheader()
output.writerow()
收到此错误:
File "process_json.py", line 16, in main
output = csv.DictWriter(output_file, order_fields = sorted(fieldnames), restval = '')
TypeError: __init__() takes at least 3 arguments (3 given)
如果不是这些,我应该通过哪些论据?
答案 0 :(得分:1)
csv.DictWriter(csvfile, fieldnames, restval='', extrasaction='raise', dialect='excel', *args, **kwds)
您将看到忘记传递fieldnames
参数。实际上,你传递了3个参数(包括self
,因为它是一个类),但你忘记了第二个参数,这是强制性的。
我认为它不是order_fields
而是fieldnames
,所以你不需要将它设置为位置参数:
output = csv.DictWriter(output_file, sorted(fieldnames), restval = '')