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()
功能特性
自动数据类型处理
在读取 CSV 文件时,自动推断数据类型,如将字符串转换为合适的数值类型。
多线程读写
支持多线程读取和写入 CSV 文件,提高处理大量数据时的性能。
数据操作
- 添加列:可灵活添加单个或多个列,支持处理重复列名的情况。
- 删除列:方便地删除指定列。
数据保存
- 支持单线程和多线程保存数据到 CSV 文件,多线程保存可加快大文件的保存速度。
API 文档
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 许可证。
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.1.0.tar.gz
(5.2 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.1.0.tar.gz.
File metadata
- Download URL: morecsv-0.1.0.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
871a470a7a5e5a3687bd9bfc60507340148f215ae1f54a45a93a311e472c084a
|
|
| MD5 |
5ed773bb4444986d86bff0b89ce40d7a
|
|
| BLAKE2b-256 |
f75d2ab142b76e5c34b328eac1890dbc4ecd318a62eaead5b152209edec55586
|
File details
Details for the file morecsv-0.1.0-py3-none-any.whl.
File metadata
- Download URL: morecsv-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 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 |
d951e6092146b3524cf3ae75e03e355c96daf6ed0ef0aa891ea37fd12c014662
|
|
| MD5 |
8607705ef3894a4a9c95256505dbeed9
|
|
| BLAKE2b-256 |
e6831e1bd0f5fa5d5f57058082df90ce819368322512d2bf6253a88e6500f178
|