csv模块的excel-tab的Dialect设置究竟是什么?

时间:2018-03-10 02:07:39

标签: python excel csv

  

csv模块实现了以CSV格式读取和写入表格数据的类   格式。它允许程序员说“以格式写入这些数据”   首选Excel,“或”从此文件中读取生成的数据   通过Excel,“不知道所用CSV格式的确切细节   通过Excel。

如果我想要知道怎么办?

除了开玩笑之外,我想知道哪些属性和设置会创建方言csv.excel_tab

Dialect.delimiter 用于分隔字段的单字符字符串。

Dialect.doublequote 控制如何引用字段中出现的quotechar实例。

Dialect.escapechar 如果引用设置为QUOTE_NONE,则编写器用于转义分隔符的单字符字符串;如果doublequote设置为False,则为quotechar。

Dialect.lineterminator 用于终止writer生成的行的字符串。它默认为'\ r \ n'。

Dialect.quotechar 一个单字符的字符串,用于引用包含特殊字符的字段,例如分隔符或quotechar,或者包含换行符。

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

Dialect.skipinitialspace 如果为True,则忽略分隔符后面的空格。默认值为False。

Dialect.strict 如果为True,则在错误的CSV输入时引发异常错误。默认值为False。

1 个答案:

答案 0 :(得分:4)

直接转到Lib/csv.py的{​​{3}},excel-tab具有excel的所有属性,以及制表符分隔符。

class excel(Dialect):
    """Describe the usual properties of Excel-generated CSV files."""
    delimiter = ','
    quotechar = '"'
    doublequote = True
    skipinitialspace = False
    lineterminator = '\r\n'
    quoting = QUOTE_MINIMAL
register_dialect("excel", excel)

class excel_tab(excel):
    """Describe the usual properties of Excel-generated TAB-delimited files."""
    delimiter = '\t'
register_dialect("excel-tab", excel_tab)