CleverCSV,python处理复杂的csv文件利器

https://github.com/alan-turing-institute/CleverCSV

CleverCSV 是一个用于处理混乱的 CSV 文件的 Python 库。它提供了内置 CSV 模块的直接替代品,并改进了方言检测,而且附带了一个方便的命令行应用程序来处理 CSV 文件。

       

它会自动(高精度)检测 CSV 文件的格式(方言),从而更轻松地指向 CSV 文件并加载它,而无需人工检查。

CleverCSV 的特点

CleverCSV 的特点是它使用机器学习算法来自动检测 CSV 文件的分隔符,这使得它特别适合处理各种格式的 CSV 文件,特别是那些分隔符不是标准逗号的文件。

  • 自动检测分隔符:CleverCSV 使用一种称为 “数据嗅探” 的技术,结合机器学习算法来自动推断 CSV 文件中使用的分隔符。这对于处理各种不同的 CSV 文件格式特别有用,因为它减少了手动指定分隔符的需要。
  • 易于使用:CleverCSV 与 Python 中标准的 CSV 库接口相似,这意味着对于熟悉标准库的用户来说,迁移到 CleverCSV 是平滑的。
  • 处理多种格式:除了标准的逗号分隔外,CleverCSV 还可以处理其他分隔符,如制表符、分号等,使其适用于多种国际格式。
  • 集成和兼容性:CleverCSV 可以与现有的 Python 数据处理工具(如Pandas)无缝集成,提供了一种处理复杂 CSV 文件的有效方法。
  • 开源:作为一个开源项目,CleverCSV 受到社区的支持和持续发展,用户可以根据自己的需求对其进行修改或贡献。

初体验

库的安装
pip install clevercsv
示例

CleverCSV 还添加了一些有用的包装函数。这些功能会自动检测方言,旨在使 CSV 文件的处理变得更加容易。

  • detector_dialect:获取 CSV 文件的路径并返回检测到的方言
  • read_table:自动检测文件的方言和编码,并将数据作为行列表返回。
  • read_dataframe:检测文件的方言和编码,然后使用 Pandas 将 CSV 读入 DataFrame。
  • read_dicts:检测方言并将文件的行作为字典返回,假设第一行包含标题。
  • write_table:使用 RFC-4180 方言将表写入文件 。
  • write_dicts:使用 RFC-4180 方言将字典列表写入文件 。

使用 read_dataframe 方法将文件读入 DataFrame。

如果文件不是标准的 CSV 格式,通过 pandas 的 read_csv 会报错。

import pandas as pd
df = pd.read_csv('imdb.csv') 

 改成如下代码则正常:

import clevercsv
df = clevercsv.read_dataframe('imdb.csv')
df.head()
命令行工具

命令行应用程序具有许多方便的功能,可以更轻松地处理 CSV 文件。例如,它可用于在命令行上查看 CSV 文件,同时自动检测方言。它还可以生成 Python 代码,用于使用正确的方言从文件导入数据。

当你不想一遍又一遍地检测同一文件的方言时,代码生成非常有用。

你只需运行以下命令并将生成的代码复制到 Python 脚本即可!

$ clevercsv code --pandas imdb.csv

# Code generated with CleverCSV

import clevercsv

df = clevercsv.read_dataframe("imdb.csv", delimiter=",", quotechar="", escapechar="\\")

更多功能期待大家去探索。

【发文章不易,请大家多多关注、点赞、留言、下载支持!谢谢!】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值