下記のようなスペース区切りのテーブルlikeなテキストファイルをカラム名に合わせてCSVに変換したいのですが方法が思いつきません。なにか良い方法(案)があれば教えていただけると助かります。言語等は特に問いません。よろしくおねがいしますorz
IP MAC Name Role Age(d:h:m) Auth VPN link AP name Roaming Essid/Bssid/Phy Profile Forward mode Type Host Name ---------- ------------ ------ ---- ---------- ---- -------- ------- ------- --------------- ------- ------------ ---- --------- 00.00.00.00 00:00:00:00:00:00 xxxxxxxxxxxxxxxx full-access 00:00:03 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 xxxxxxxxxxxxxxxx full-access 00:00:03 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 xxxxxxxxxxxxxxxx full-access 00:00:02 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:04 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxx@xxx full-access 00:00:08 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxx@xxxx full-access 00:00:08 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@xxxxxx@xxxx full-access 00:00:08 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:06 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:00 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:03 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:02 tunnel 1 xxxxx xxxxx tunnel IP MAC Name Role Age(d:h:m) Auth VPN link AP name Roaming Essid/Bssid/Phy Profile Forward mode Type Host Name ---------- ------------ ------ ---- ---------- ---- -------- ------- ------- --------------- ------- ------------ ---- --------- 00.00.00.00 00:00:00:00:00:00 full-access 00:00:03 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:03 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:02 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:04 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:08 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:08 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 full-access 00:00:08 Web tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:06 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:00 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:03 tunnel 1 xxxxx xxxxx tunnel 00.00.00.00 00:00:00:00:00:00 x-access 00:00:02 tunnel 1 xxxxx xxxxx tunnel
↓CSVに変換
IP,MAC,Name,Role,Age(d:h:m),Auth,VPN,link,AP,name,Roaming,Essid/Bssid/Phy,Profile,Forward,mode,Type,Host,Name 00.00.00.00,00:00:00:00:00:00,xxxxxxxxxxxxxxxx,full-access,00:00:03,Web,,tunnel 1,xxxxx,,xxxxx,tunnel,, ...
これ、意外と難しいですよ。 力技みたいな方法しか思いつかないのですが、入力ファイルはこの2パターンだけですか? どれくらいの分量ありますか?
そうですよね。良い感じのライブラリないかなと思ったのですが、力技しかないですよね。
CSVに変換する意図として各行を軸にどのカラムに値が入っているか、入っていないかというパターンを洗い出したいのです。
ざっと見た感じパターンは10種類ぐらいあるように思います。
分量は数万行といったところです。。。。
二行目の----の行がフィールドの切れ目を表していると信じていいのでしょうか?
はい、大丈夫です!
各「----」の先頭インデックスからフィールドの範囲を求めて値を抽出していくという流れですかね。。。
回答1件
あなたの回答
tips
プレビュー