【问题标题】:What exactly are the csv module's Dialect settings for excel-tab?csv 模块的 Excel 选项卡的方言设置到底是什么?
【发布时间】:2018-08-18 16:01:07
【问题描述】:

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

如果我知道怎么办?

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

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

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

Dialect.escapechar 如果 quoting 设置为 QUOTE_NONE 和 quotechar 如果 doublequote 为 False,则作者用来转义分隔符的单字符字符串。

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

Dialect.quotechar 用于引用包含特殊字符(例如分隔符或引号字符)或包含换行符的字段的单字符字符串。

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

Dialect.skipinitialspace 当为 True 时,紧跟在分隔符后面的空格将被忽略。默认为 False。

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

【问题讨论】:

  • 在交互式解释器中尝试import csv; help(csv.excel)

标签: python excel csv


【解决方案1】:

直奔Lib/csv.pysourceexcel-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)

【讨论】:

  • 太棒了!感谢您向我展示来源。我寻找源头。我以为可以挖掘找到它,但就是找不到。
  • 除其他方式外,始终可以使用import csv -> csv.__file__。我喜欢复制并粘贴该路径并在任何浏览器中直接打开它
猜你喜欢
  • 1970-01-01
  • 2015-09-27
  • 2016-05-13
  • 2014-05-06
  • 2016-02-07
  • 2014-10-14
相关资源
最近更新 更多