我正在尝试定义一种新格式:
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。
这是什么意思?
答案 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)