我希望使用机器学习和NLP将文本文件中的半结构化数据转换为结构化数据,方法是预测文件中的模式并分割字段,例如,如果我有一个类似于以下内容的文本文件:
投入:
2021565267MALL1ETAGE ZARA1st FLOOR 2345561
2022565267MALL2ETAGE ZARA1st FLOOR 2345561
2022565267ANFAPLACE2ETAGECOFEESHOP2345561
20225652634ANFAPLACE2ETAGE 2345561期望产出:
2021565267,MALL1ETAGE ZARA1st FLOOR,2345561
2022565267,MALL2ETAGE ZARA1st FLOOR,2345561
2022565267,ANFAPLACE2ETAGECOFEESHOP,2345561
20225652634,ANFAPLACE2ETAGE,2345561这些半结构化文件不是固定宽度的,所以我们不能只在熊猫中添加这样的col规范(例如,它可以用于第一行):
col_specification =[(1, 10),.... ]我在网上发现的一种方法是根据半结构化文件中单词的出现来制作字典,在这种情况下,这种方法会起作用吗?如果是这样的话,我如何实现这样的东西呢?
发布于 2021-05-06 05:01:06
我现作出以下假设:
MALL1ETAGE ZARA1st FLOOR这样的文本不应该在前面或结尾有数字。因此,20215652671MALL1ETAGE ZARA1st FLOOR 2345561将被解释为20215652671, MALL1ETAGE ZARA1st FLOOR, 2345561而不是2021565267, 1MALL1ETAGE ZARA1st FLOOR, 2345561。为此,可以使用以下方法使用正则表达式来捕获第一组和最后一组数字:
import re
re.findall("^([0-9]+)(.*?)([0-9]+)$", "2021565267MALL1ETAGE ZARA1st FLOOR 2345561")
# [('2021565267', 'MALL1ETAGE ZARA1st FLOOR ', '2345561')]将strip()应用于每个结果将移除尾随空格,以获得所需的输出。
https://datascience.stackexchange.com/questions/89756
复制相似问题