csv文件相关工具
cs.csvutils的Python项目详细描述
csv文件的实用功能。
在python 2中,stdlib csv读取器读取8位字节的数据并返回str对象;
这些需要解码成unicode对象。
在python 3中,stdlib csv读取器读取打开的文本文件并返回str
对象(=Unicode)。
因此,我们提供csv_reader()
生成器来生成包含unicode的行。
函数csv_import(fp, class_name=None, column_names=None, computed=None, preprocess=None, mixin=None, **kw)
读取第一行包含列标题的csv数据。 返回行namedtuple工厂和一个iterable实例。
参数:
fp
:包含csv数据的文件对象,或此类文件的名称class_name
:namedtuple子类的可选类名 用于行数据。column_names
:列标题的可选iterable;if 如果提供,则该文件不应具有内部列 标题computed
:提供映射的可选关键字参数 对于self
的函数,这些字符串是可用的 通过getitempreprocess
:提供可调用的可选关键字参数 在csv行转换为namedtuple之前修改它们。 它接收数据行的上下文对象。它可能会回来 行(可能已修改),或者不删除行。- {< CD9> }:生成的命名元组子类的可选MIXIN类 提供额外的方法或属性
所有其他关键字参数都传递给csv_reader()。这个 是一个非常薄的垫片。
示例:
>>> cls, rows = csv_import(['a, b', '1,2', '3,4'], class_name='Example_AB')
>>> cls #doctest: +ELLIPSIS
<function named_row_tuple.<locals>.factory at ...>
>>> list(rows)
[Example_AB(a='1', b='2'), Example_AB(a='3', b='4')]
>>> cls, rows = csv_import(['1,2', '3,4'], class_name='Example_DEFG', column_names=['D E', 'F G '])
>>> list(rows)
[Example_DEFG(d_e='1', f_g='2'), Example_DEFG(d_e='3', f_g='4')]
函数csv_writerow(csvw, row, encoding='utf-8')
将提供的行编写为用提供的encoding
编码的字符串,
默认为“utf-8”。
函数xl_import(workbook, sheet_name, skip_rows=0, **kw)
从名为
filename
至于csv_import
。
返回行namedtuple工厂和一个iterable实例。
参数:
workbook
:加载工作表的excel工作簿;如果 这是一个str,然后从 openpyxl.load_workbook()sheet_name
:应导入其数据的工作簿工作表的名称
其他关键字参数与cs.mappings.named_column_tuples相同。
注意:此函数要求openpyxl
模块可用。