Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python通用数据引擎_Python_Generics_Input_Output - Fatal编程技术网

Python通用数据引擎

Python通用数据引擎,python,generics,input,output,Python,Generics,Input,Output,我已经在Python上工作了大约1.5年,并在寻找一些方向。这是我第一次在做了大量搜索之后找不到我需要的东西,而且肯定是遗漏了什么——很可能是搜索了错误的术语 问题:我正在开发一个有很多进程的应用程序(可能是数百个甚至数千个)。每个进程可能有一个唯一的输入和输出数据格式,可以是多行字符串、逗号分隔字符串、excel或csv(有或没有不同的标题)以及许多其他格式。我需要的东西,将格式正确的输入和处理的过程的基础上输出。还需要轻松添加/定义新流程。我对任何最好的方法都持开放态度,但我的想法是使用存储

我已经在Python上工作了大约1.5年,并在寻找一些方向。这是我第一次在做了大量搜索之后找不到我需要的东西,而且肯定是遗漏了什么——很可能是搜索了错误的术语

问题:我正在开发一个有很多进程的应用程序(可能是数百个甚至数千个)。每个进程可能有一个唯一的输入和输出数据格式,可以是多行字符串、逗号分隔字符串、excel或csv(有或没有不同的标题)以及许多其他格式。我需要的东西,将格式正确的输入和处理的过程的基础上输出。还需要轻松添加/定义新流程。我对任何最好的方法都持开放态度,但我的想法是使用存储模板/数据定义的数据库,并使用该数据库了解给定流程的格式。然而,如果这真的是最好的方法,我正在努力想出确切的方法,但它需要是一个可扩展的解决方案。任何指示都将不胜感激。多谢各位

两个简单的数据示例

处理1个示例数据(带标题的多行字符串) 输入

[ABC123,XYZ453,CDE987]
将创建以下结果数据输入:

Barcode
ABC123
XYZ453
CDE987
下面的代码可以工作,但在示例2中不能重用

list=[ABC123,XYZ453,CDE987]
输入=“条形码/r/n”
对于列表中的l:
输入=输入+l+'/r/n'
流程2示例输入模板(逗号与标题分隔):

Barcode,Location,Param1,Param2
Item1,L1,11,A
Item1,L1,22,B
Item2,L1,33,C
Item2,L2,44,F 
Item3,L2,55,B
Item3,L2,66,P
处理2示例结果输入数据(逗号与标题分隔): 输入

{'Barcode':['ABC123','XYZ453','CDE987','FGH487','YTR123','Location':['Shelf1','Shelf2']}
并使用模板创建以下输入数据:

Barcode,Location,Param1,Param2
ABC123,Shelf1,11,A
ABC123,Shelf1,22,B
XYZ453,Shelf1,33,C
XYZ453,Shelf2,44,F 
CDE987,Shelf2,55,B
CDE987,Shelf2,66,P
FGH487,Shelf1,11,A
FGH487,Shelf1,22,B
YTR123,Shelf1,33,C
YTR123,Shelf2,44,F 

我知道如何使用硬编码循环/数据帧合并等处理每个进程。我在其他情况下使用DICT进行了一些抽象。然而,如何定义/存储变化如此之大的每种格式并创建可重用的抽象代码是我的难题

也许您可以将函数的输出作为一个元组,实际输出的键为“datatype”和“output”

这基本上就是我计划要做的,但是定义输入和输出是什么以及如何存储这些定义有一层复杂性,这是我的挑战。我添加了一些细节来进一步澄清。我对此投赞成票,因为它激发了一个我认为会奏效的解决方案。我将在dB中以json的形式存储模板,以及描述输入的其他几列。我要试一试,看看结果如何。谢谢斯文!