我有许多包含旅行信息的电子表格。
我需要提取该行描述旅行的开始和结束位置,以及该行中的一两件事,但那些额外的字段应该不重要。
没有所有位置的已知列表,也没有固定的文本模式,我只能寻找位置名称。
我正在搜索的字段有 0-2 个位置,有时位置有别名。
问题
如果我们有这个:
00229 | 445 | RTF | Jan | trn_rtn_co | Chicago to Base1
00228 | 445 | RTF | Jan | train | Metroline to home coming from Base1
00228 | 445 | RTF | Jan | train_s | Standard train journey to Friends
例如,我(尽管会有所不同)会想要这个:
RTF|Jan|Chicago |Base1
RTF|Jan|Home |Base1
RTF|Jan|NULL |Friends
然后继续,查找该人(其唯一 ID 为 RTF)的含义Base1
和Friends
含义,并将其替换为合理的位置(假设他们只有一组“朋友”):
RTF|Jan|Chicago |Rockford
RTF|Jan|Home |Rockword
RTF|Jan|NULL |Milwaukee
我需要的
我需要一种从最后一列中挑选关键词的方法,例如:Metroline to home come from Base1。
我正在寻找三种类型的单词:
- 家庭位置
这些是已知且有限的,我可以从列表中获取这些 - Home Aliases
这些是已知且有限的,我可以从列表中获取这些 - 离开地点
这些是未知的,但英国的城市/城镇/等我不知道如何在字符串中识别这些。这是我的主要问题
我的想法
我想到的程序是awk
,但我不知道我是否可以可靠地搜索以找到将专有名词(即位置)用于位置名称的位置。
是否有标准位置的包、库或字典?
我可以得到一个程序来搜索电子表格并“学习”位置的名称吗?
这似乎是一个已经解决的问题(即在文本字符串中查找单词),但我不确定我在做什么,而且我只是一个新手程序员。
对我能做的任何帮助将不胜感激。
编辑:
任何答案,例如“US_Locations_Cities 是您可以检查的内容”、“使用...检查 awk 文件中提到的字符串”、“有一个语言 X 的库可以让程序学习识别位置名称,它是不是正则表达式,但它可能会起作用”,或者“这里有一个位置名称字典”就可以了。
最终,任何可以帮助我做我想做的事情(即获取位置名称!)的东西都会很棒。