python - TypeError:“quoting”必须是整数

时间:2017-08-23 12:53:51

标签: python csv delimited-text

我正在尝试定义一种新格式:

import csv 
f = open("file.csv")
reader = csv.reader(f)

class my_dialect(csv.Dialect):
     lineterminator = '\n'
     delimiter: ';'
     quotechar: '"'

reader = csv.reader(f, dialect=my_dialect)

输出:

TypeError                                 Traceback (most recent call last)
<ipython-input-121-0a8ad3677c01> in <module>()
----> 1 reader = csv.reader(f, dialect=my_dialect)

TypeError: "quoting" must be an integer

来自文档:

  

Dialect.quoting       控制何时应由作者生成引号并由读者识别。它可以采用任何QUOTE_ *常量   (参见模块内容一节),默认为QUOTE_MINIMAL。

这是什么意思?

1 个答案:

答案 0 :(得分:2)

首先,您的代码存在与原始问题无关的语法错误,因此请确保这些错误得到处理(赋值运算符为&#34; =&#34;,不是&#34;: &#34)。如果您在类中添加引号,则应该修复您获得的错误。您的代码看起来像这样 -

#! /usr/bin/python

import csv 
f = open("file.csv")
reader = csv.reader(f)

class my_dialect(csv.Dialect):
    lineterminator = '\n'
    delimiter= ';'
    quotechar= '"'
    quoting = csv.QUOTE_MINIMAL

reader = csv.reader(f, dialect=my_dialect)