Python DictWriter()的错误参数

Python DictWriter()的错误参数,python,csv,Python,Csv,我正在尝试将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() 获取此

我正在尝试将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)
如果不是这些参数,我应该传递哪些参数?

如果您查看:

您将看到您忘记传递
fieldnames
参数。实际上,您传递了3个参数(包括
self
,因为它是一个类),但您忘记了第二个参数,这是必需的。
我认为这不是您所指的
order\u fields
,而是
fieldnames
,因此您不需要将其设置为位置参数:

output = csv.DictWriter(output_file, sorted(fieldnames), restval = '')
output = csv.DictWriter(output_file, sorted(fieldnames), restval = '')