固定列数据文件的快速解析器

lineparser的Python项目详细描述


行分析器

lineparser是一个小型库,其目标是:非常快速地解析固定宽度格式的文件。 为了实现这一点,lineparser使用cython获得good old提供的速度 c代码和python的便利性

文档可以找到here

安装

如果您在Windows或Linux 64位计算机上,则应该能够通过PIP安装lineparser

$ pip3 install lineparser

示例

demo.py:

importlineparserimporttimefields=[(lineparser.Float64,12),(lineparser.Float64,10),(lineparser.Float64,12),(lineparser.String,6),(lineparser.String,6),(lineparser.String,14),(lineparser.String,14),(lineparser.Float64,6)]try:start=time.time()# On a successfull parse, result will be a list of lists and numpy arrays (strings will be in # lists, and numbers will be in numpy arrays). result=lineparser.parse(fields,b'data/small_data.par')end=time.time()print(f"Took {end - start} seconds to parse")exceptlineparser.LineParsingErrorase:print(f"Encountered the following error while trying to parse:\n {str(e)}")

data/small_data.par

    31.43339 6.531E-28   31.442390     3     2       0.00048       0.00000   100
    41.89467 1.415E-26   62.878170     4     3       0.00065       0.00000   100
    41.89786 3.538E-27   62.876840     4     3       0.00064       0.00000   100
    ...

运行示例:python3 demo.py

从源安装

从源代码安装也很容易。必须在计算机上安装gcc,并且必须 cython仅当您要修改库时才安装。然后运行此命令:

$ python3 setup.py install

建筑

lineparser构建起来很简单,应该只需要一个命令:

$ python3 setup.py build_ext --inplace

然后您应该能够将其导入到python解释器中(在构建目录中):

$ python3 setup.py build_ext --inplace
$ python3 
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import lineparser
>>> ...

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java对象中构造函数发生变化时的设计模式最佳实践   java spring将参数传递到注入对象   警告登录前使用java   java为什么我在这里得到NullPointerException?   netbeans如何使用文件流在Java中创建登录表单?   java我想把TictaToe类的点返回到我的主类,但它总是给我这个错误?   java如何在春季更新数据源bean?   OSGi框架中java扩展包的含义   运行时。exec如何在从Java的getRuntime()生成程序时为ps设置argv[0]名称。exec()?   java将对象的2d数组存储为字符串   java更改按钮在延时后返回其原始状态   即使包含包,java Maven也找不到类   安卓 java。lang.ExceptionInInitializerError与谷歌地图方向路由   易于实现的java Web SSO解决方案?