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()

填充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。当文件为空时,若未指定 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.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)

Uploaded Source

Built Distribution

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

morecsv-0.3.0-py3-none-any.whl (7.6 kB view details)

Uploaded Python 3

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

Hashes for morecsv-0.3.0.tar.gz
Algorithm Hash digest
SHA256 e4301e600fbd6f1e92496626a887d7becf159e45fe2144adf8f0a0750d420545
MD5 960e64891c917dd49627405fa83975bc
BLAKE2b-256 031a15af56eaae7506caf28a91b45665bc0a6a09705c966bf3ee1c0ca67fed13

See more details on using hashes here.

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

Hashes for morecsv-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ca1d565b9cbcfdc6457607fc55d20f0dca17ef2aadde5afc4450d2ee82c30323
MD5 3ff62ca4e732682efd381189c7d1928c
BLAKE2b-256 8d329c65d714c722fa5509e8b3d76344a8dff998878a052d5c76ed5de9f087b3

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