更好的csv模块

cordwainer的Python项目详细描述


更好的csv库

功能

  • 让您在Python2和Python3中编写程序,就像 python 3 csv模块。
  • Under Python 2, provides a Python 3 compatible csv module.
  • Under Python 3, passes through transparently.
  • 允许您的csv文件以任何方式进行编码。

python 3兼容性

import cordwainer.csv as csv应该等同于导入 Python3csv模块,无论是与Python2或3一起运行。见 Python 3 csv module documentation

csv文件编码

python 2 csv模块希望将文件句柄传递给 返回用ascii或utf-8编码的数据,并将其写入文件 同样的方式。

python 3 csv模块期望传递给它的句柄返回文本 已解码的数据,并将未编码的文本数据写入它们。是的 你负责在打开文件时安排转换, 或者通过某种转换来传送流。

使用cordwiner,只需传递一个额外的encoding参数 表示流提供或期望二进制数据 使用指定的编码,Cordwiner将负责 所有必要的转换。

如果省略encodingNone,cordwiner假设 提供的流将提供或期望未编码的文本数据,仅 就像python 3的csv模块。

杂项使用说明

encoding参数仅适用于从和读取 在溪流中写作。

字符串参数应始终传递给api 作为字符,结果总是字符。

例如:

  • 将字段名作为字符传递给听写器
  • 将行中的数据作为字符传递给writeRow()
  • next()以字符形式返回行

预期(最终)功能

  • 可选标题行
  • 验证预期的字段、类型(可能指定django表单 进行验证)
  • 详细的错误处理-说出问题出在哪一行, 对于每一个有错误的行
  • 在出现n个错误后可以选择停止处理
  • (可选)导入在跳过无效行时有效的行 一个
  • 可以选择在一个事务中完成整个事务
  • (可选)忽略任何额外的列
  • 可选地保存上传的文件,然后在后台处理它 任务(不延迟http请求)
  • 对于Excel,灵活地决定要导入什么样的表——甚至 从一次上载的多张工作表导入

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像