如何在python中进行解析?
我对Python有点陌生。我想知道如何用Python进行解析? 我有一个任务:用一些未知的符号进行解析,然后把它放到数据库中。我想我可以在SQLAlchemy的帮助下创建DB和表,但我不知道如何进行解析,也不知道下面这些符号的含义是什么如何在python中进行解析?,python,database,parsing,Python,Database,Parsing,我对Python有点陌生。我想知道如何用Python进行解析? 我有一个任务:用一些未知的符号进行解析,然后把它放到数据库中。我想我可以在SQLAlchemy的帮助下创建DB和表,但我不知道如何进行解析,也不知道下面这些符号的含义是什么 $$HDRPUBID 11270113000201127162536 H11127011300唯一电话号码120011127 D1112701130uniqueponumber10000112345678900000001 D2112701130unique
$$HDRPUBID 11270113000201127162536
H11127011300唯一电话号码120011127
D1112701130uniqueponumber10000112345678900000001
D2112701130uniqueponumber1000011123456789AR000000001
D1112701130uniqueponumber200002123456987x000000001
D2112701130UniquePonNumber 200002123456987XIR000000000此项目处于非活动状态。97816056000
$$EOFPUBID 112701130002011271625360005
提前感谢那些能给我一些建议的人,从什么开始以及解析是如何进行的 最好的方法是首先找出每个标记的开始和结束位置,然后编写正则表达式来捕获这些标记。该网站可能会帮助您设计正则表达式。如其他人所建议的,请查看一些正则表达式教程,以及。 也许你正在寻找这样的东西:
import re
headerMapping = {'type': (1,5), 'pubid': (6,11), 'batchID': (12,21),
'batchDate': (22,29), 'batchTime': (30,35)}
poaBatchHeaders = re.findall('\$\$HDR\d{30}', text)
parsedBatchHeaders = []
batchHeaderDict = {}
for poaHeader in poaBatchHeaders:
for key in headerMapping:
start = headerMapping[key][0]-1
end = headerMapping[key][1]
batchHeaderDict.update({key: poaHeader[start:end]})
parsedBatchHeaders.append(batchHeaderDict)
然后你有一个dict列表,每个dict包含每个属性的数据。我假设您的数据文件位于text
中,它是字符串。每个dict针对一个找到的结构(示例中为POA批处理头)。
如果您想进一步解析它,您必须创建一个函数来解析每个属性中的每个日期
def batchDate(batch):
return (batch[0:2]+'-'+batch[2:4]+'-20'+batch[4:])
for header in parsedBatchHeaders:
header.update({'batchDate': batchDate( header['batchDate'] )})
请记住,这只是一个例子,我不知道您的数据文档!我猜它是这样工作的,但其余的取决于您。看看正则表达式。