とりわけ旅行情報が記載されたスプレッドシートがたくさんあります。
行が旅行を表す開始位置と終了位置、および行からさらに1つまたは2つのものを抽出する必要がありますが、これらの追加フィールドが何であるかは重要ではありません。
すべての場所の既知のリストやテキストの固定パターンはありません。私が探すことができるのは場所の名前だけです。
私が検索しているフィールドには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
適切な場所に置き換えます(「友達」のセットが1つしかない場合)。
RTF|Jan|Chicago |Rockford
RTF|Jan|Home |Rockword
RTF|Jan|NULL |Milwaukee
必要なもの
最後の列からキーワードを選択する方法が必要です。たとえば、次のようになります。Base1からのメトロラインからホームへ。
私が探している単語は3種類あります。
- 自宅の場所
これらは既知であり、限られています。リストから取得できます - ホームエイリアス
これらは既知であり、制限されています。リストから取得できます - 離れた場所
これらは不明ですが、英国の都市/町など私は文字列でこれらを認識する方法がわかりません。これが私の主な問題です
私のアイデア
私が考えていたプログラムに行くのはでしたがawk
、場所の名前に適切な名詞(つまり場所)が使用されている場所を確実に検索できるかどうかはわかりません。
標準的な場所のパッケージ、ライブラリ、または辞書はありますか?
スプレッドシートを調べて場所の名前を「学習」するプログラムを入手できますか?
これはすでに解決されている問題のようです(つまり、テキストの文字列から単語を見つける)が、私が何をしているのかはわかりません。私は初心者プログラマーにすぎません。
私にできることについて何か助けていただければ幸いです。
編集:
「US_Locations_Citiesはチェックできるものです」、「awkのファイルに記載されている文字列を...を使用してチェックする」、「プログラムが場所の名前を認識できるようにする言語Xのライブラリがあります。 RegExではありませんが、機能する可能性があります」、または「ここに場所名の辞書があります」で問題ありません。
最終的には、やりたいこと(つまり、場所の名前を取得すること)を実行するのに役立つものはすべて優れています。