python-TypeError:";引用;必须是整数

python-TypeError:";引用;必须是整数,python,csv,delimited-text,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

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

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
TypeError回溯(最近一次调用)
在()
---->1读卡器=csv。读卡器(f,方言=我的方言)
TypeError:“quoting”必须是整数
从文件:

方言引用 控制何时应由编写者生成并由读者识别引号。它可以接受任何QUOTE_*常量 (请参阅模块内容部分)并默认为QUOTE_MINIMAL


这是什么意思

首先,代码中存在与原始问题无关的语法错误,因此请确保已解决这些错误(赋值运算符为“=”,而不是“:”)。如果您在类中添加了引号,它应该可以修复您遇到的错误。您的代码可能看起来像这样--


首先,代码中存在与原始问题无关的语法错误,因此请确保已解决这些错误(赋值运算符为“=”,而不是“:”)。如果您在类中添加了引号,它应该可以修复您遇到的错误。您的代码可能看起来像这样--


这甚至不是有效的Python。不确定如果您只是使用
csv
,为什么会标记为pandas。您需要导入并使用常量值
QUOTE\u MINIMAL
,或者其他甚至不是有效的Python。不确定如果您只是使用
csv
,为什么会标记为pandas。您需要导入并使用常量值
QUOTE\u MINIMAL
,或者其他什么类型的语法错误?哪里说有一些错误修复它们对OP没有帮助。如果可以,请解释如何修复。上面添加的代码解决了语法问题,但我在我的帖子中添加了一个编辑,以帮助解释我所指的内容。非常感谢。我不敢相信我没有意识到我使用的是冒号而不是“=”…我不明白如果默认为csv.QUOTE_MINIMAL,为什么省略quoting选项会返回此错误?从类中省略“quoting”时出现错误的原因是,在调用csv.reader时,您将类作为方言传递。在这种情况下,方言会在类中查找参数,如果找不到一个或多个参数,则不会喜欢。另一方面,如果您执行了类似csv.reader的操作(f,lineterminator='\n',delimiter=';',quotechar='”),则不会遇到相同的错误,因为在本例中,“引用”“作为参数,默认值为csv.QUOTE_MINIMAL。请参阅csv中读卡器函数的文档,了解函数/构造函数是如何设置的。哪种语法错误?哪里说有一些错误修复它们对OP没有帮助。如果可以,请解释如何修复。上面添加的代码解决了语法问题,但我在我的帖子中添加了一个编辑,以帮助解释我所指的内容。非常感谢。我不敢相信我没有意识到我使用的是冒号而不是“=”…我不明白如果默认为csv.QUOTE_MINIMAL,为什么省略quoting选项会返回此错误?从类中省略“quoting”时出现错误的原因是,在调用csv.reader时,您将类作为方言传递。在这种情况下,方言会在类中查找参数,如果找不到一个或多个参数,则不会喜欢。另一方面,如果执行类似csv.reader的操作(f,lineterminator='\n',delimiter=';',quotechar=''”),则不会遇到相同的错误,因为在本例中,“quoting”作为参数默认为csv.QUOTE_MINIMAL。请参阅csv中的reader函数文档,以了解函数/构造函数的设置方式。
#! /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)