Skip to main content

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。当文件为空时,若未指定 rowsrows 小于 1,则默认行数为 1。
    • overwrite:布尔值,是否覆盖已存在的列,默认为 False
  • 返回值:无

del_columns(column_name)

  • 参数
    • column_name:要删除的列名,必须为字符串。
  • 返回值:无

save_data_multithreaded(chunksize=1000)

  • 参数
    • chunksize:每个数据块的行数,默认为 1000。
  • 返回值:无

贡献指南

如果你想为 morecsv 项目做出贡献,请遵循以下步骤:

  1. Fork 本项目。
  2. 创建一个新的分支:git checkout -b feature/your-feature-name
  3. 提交你的更改:git commit -m 'Add some feature'
  4. 推送至分支:git push origin feature/your-feature-name
  5. 提交 Pull Request。

许可证

本项目采用 MIT 许可证

更新日志

  • 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.2.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

morecsv-0.2.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file morecsv-0.2.0.tar.gz.

File metadata

  • Download URL: morecsv-0.2.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for morecsv-0.2.0.tar.gz
Algorithm Hash digest
SHA256 9076042dc231826ee0b794417174e4d5a7ae9f16da2090f23f211d47ecfff54f
MD5 521b2b5005e8428f4a7e514c4dc4709b
BLAKE2b-256 f8205cd8fed04b33c585352d8d4a2b67d9d73933ef0b4d38f231688c7a7dba10

See more details on using hashes here.

File details

Details for the file morecsv-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: morecsv-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.1

File hashes

Hashes for morecsv-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf70c69ebe90e5bb366e99fea3c5caa65ab87097add2b8fc6d19a195254aba44
MD5 471247b4480c6bbd64cd2de10b29ca16
BLAKE2b-256 e42f5bfce0e941ed17d3ee95b62eaaccc31ae9f1b341775e1b82bd1fe7985700

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page