An enhanced CSV processing library
Project description
morecsv
morecsv 是一个增强型的 CSV 处理库,旨在为用户提供更便捷、高效的 CSV 文件处理方式,支持自动数据类型处理、多线程读写、数据清洗等功能。
安装
你可以使用 pip 来安装 morecsv:
pip install morecsv
使用示例
读取 CSV 文件
import morecsv
# 初始化 CSVProcessor 对象
file = morecsv.CSVProcessor('example.csv')
# 读取 CSV 文件
file.get(empty=True)
添加列
file.add_columns(['new_col1', 'new_col2'])
删除列
file.del_columns('column_to_delete')
多线程保存数据
file.save_data_multithreaded()
填充NaN数据
file.fillna('column', value=10)
功能特性
自动数据类型处理
在读取 CSV 文件时,自动推断数据类型,如将字符串转换为合适的数值类型。
多线程读写
支持多线程读取和写入 CSV 文件,提高处理大量数据时的性能。
数据操作
- 添加列:可灵活添加单个或多个列,支持处理重复列名的情况。
- 删除列:方便地删除指定列。
数据保存
- 支持单线程和多线程保存数据到 CSV 文件,多线程保存可加快大文件的保存速度。
API 文档
This API Document is quite outdated. I need to major fix it before the v1.0.0 release. -- Author
CSVProcessor(file_path)
- 参数:
file_path:CSV 文件的路径。
get(empty=False)
- 参数:
empty:布尔值,当文件为空时,若设置为True则继续处理,否则抛出异常。
- 返回值:无
add_columns(column_name, rows=None, overwrite=False)
- 参数:
column_name:要添加的列名,可以是字符串或字符串列表。rows:可选参数,指定行数,默认为None。当文件为空时,若未指定rows或rows小于 1,则默认行数为 1。overwrite:布尔值,是否覆盖已存在的列,默认为False。
- 返回值:无
del_columns(column_name)
- 参数:
column_name:要删除的列名,必须为字符串。
- 返回值:无
save_data_multithreaded(chunksize=1000)
- 参数:
chunksize:每个数据块的行数,默认为 1000。
- 返回值:无
贡献指南
如果你想为 morecsv 项目做出贡献,请遵循以下步骤:
- Fork 本项目。
- 创建一个新的分支:
git checkout -b feature/your-feature-name。 - 提交你的更改:
git commit -m 'Add some feature'。 - 推送至分支:
git push origin feature/your-feature-name。 - 提交 Pull Request。
许可证
本项目采用 MIT 许可证。
更新日志
- v0.3.0 Release: Brainstorms (See source code and you'll know); New functions; Tiny bug fix.
- v0.2.0 Release: Minor bug fix; New functions.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
morecsv-0.3.0.tar.gz
(8.1 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file morecsv-0.3.0.tar.gz.
File metadata
- Download URL: morecsv-0.3.0.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4301e600fbd6f1e92496626a887d7becf159e45fe2144adf8f0a0750d420545
|
|
| MD5 |
960e64891c917dd49627405fa83975bc
|
|
| BLAKE2b-256 |
031a15af56eaae7506caf28a91b45665bc0a6a09705c966bf3ee1c0ca67fed13
|
File details
Details for the file morecsv-0.3.0-py3-none-any.whl.
File metadata
- Download URL: morecsv-0.3.0-py3-none-any.whl
- Upload date:
- Size: 7.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ca1d565b9cbcfdc6457607fc55d20f0dca17ef2aadde5afc4450d2ee82c30323
|
|
| MD5 |
3ff62ca4e732682efd381189c7d1928c
|
|
| BLAKE2b-256 |
8d329c65d714c722fa5509e8b3d76344a8dff998878a052d5c76ed5de9f087b3
|