gpt4 book ai didi

python - 使用各种定界符处理文本文件

转载 作者:太空狗 更新时间:2023-10-30 01:50:50 28 4
gpt4 key购买 nike

我的文本文件(不幸的是)看起来像这样......

<amar>[amar-1000#Fem$$$_Y](1){india|1000#Fem$$$,mumbai|1000#Mas$$$}
<akbar>[akbar-1000#Fem$$$_Y](1){}
<john>[-0000#$$$_N](0){USA|0100#$avi$$,NJ|0100#$avi$$}

它包含客户名称,后跟一些信息。顺序是……

文本字符串后跟列表、集合然后是字典

<> [] () {}

这不是 python 兼容文件,因此数据不符合预期。我想处理文件并提取一些信息。

amar 1000 | 1000  | 1000
akbar 1000
john 0000 | 0100 | 0100

1) <>之间的名称

2) 列表中-和#之间的数

3 & 4) 在逗号和 | 之间的数字上拆分字典和#(这里可以有超过 2 个条目)

我愿意使用任何最适合这项任务的工具。

最佳答案

以下 Python 脚本将读取您的文本文件并为您提供所需的结果:

import re, itertools

with open("input.txt", "r") as f_input:
for line in f_input:
reLine = re.match(r"<(\w+)>\[(.*?)\].*?{(.*?)\}", line)
lNumbers = [re.findall(".*?(\d+).*?", entry) for entry in reLine.groups()[1:]]
lNumbers = list(itertools.chain.from_iterable(lNumbers))
print reLine.group(1), " | ".join(lNumbers)

这将打印以下输出:

amar 1000 | 1000 | 1000
akbar 1000
john 0000 | 0100 | 0100

关于python - 使用各种定界符处理文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32005145/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com