我要寻找的自定义文件解析为我们企业的进口程序的最佳解决方案。我想根本上改变一个文件格式转换成一个标准的文件格式,并有一个例行程序,进口的数据到数据库中。我需要能够因为它很难为每个客户端自定义脚本,以获得客户符合标准或模板的格式。我已经看过PowerShell和Python的铁要做到这一点,到目前为止,但我不知道这是我想要去的路线。我也看了一些工具,如拓蓝这是一个拖放式的工具,它可能会或可能不会给我什么,我想尽可能的灵活性。我们是一个.NET车间,并创造了自定义代码来做到这一点的过去,但我需要的东西更快创建然后每次我们得到一个新的文件格式时编码自定义分析功能。

有帮助吗?

解决方案

Python是美妙的这种事情。这就是为什么我们使用。每个新客户转移是一个新的冒险和Python使我们能够灵活迅速作出反应。


修改即可。读取文件的所有Python脚本都是“自定义文件分析器”。如果没有一个实际的例子,它不是明智的,以提供一个详细的例子。

with open( "some file", "r" ) as source:
    for line in source:
        process( line )

这是对所有有一个“自定义文件分析器”。如果你解析.csv或.xml文件,那么Python具有该模块。如果你解析固定格式的文件,你会使用字符串切片操作。如果你分析的其他文件(X12?JSON?YAML?)你需要合适解析器。

标签-DELIM

from collections import namedtuple
RecordLayout = namedtuple('RecordLayout',['field1','field2','field3',...])
def process( aLine ):
    record = RecordLayout( aLine.split('\t') )
    ...

<强>固定布局

from collections import namedtuple
RecordLayout = namedtuple('RecordLayout',['field1','field2','field3',...])
def process( aLine ):
    fields = ( aLine[:10], aLine[10:20], aLine[20:30], ... )
    record = RecordLayout( fields )
    ...

其他提示

根据不同的复杂性和工作的变化,你应该考虑像SSIS(SQL Server集成服务)的ETL工具。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top