仕事で必要になったので、久々にコードを書くにはちょうどいいかも
と思い、WEBで調べつつ手軽なVBScriptで作成。
(VBScriptってトコがヘナチョコ感満載。でも、WSH使えるなぁ…)
[並び替え前のCSV] [並び替えた後のCSV]
1番目の項目 --------> 5番目
2番目の項目 --------> 4番目
3番目の項目 --------> 2番目
4番目の項目 --------> 1番目
5番目の項目 --------> 3番目
といった変換をするスクリプトです。
本当に久々にコードを書いたので、
カッコワルサとかその辺は勘弁してください。
ちなみに、これ作るのに2時間もかかりました…
細切れで空いた時間に作ったとはいえ、萎える…orz
-------------------------------------------
'---------------------------------------------------------------
' CSV変換スクリプト
'---------------------------------------------------------------
Option Explicit
' 引数(ドラッグアンドドロップしたファイル名)を取得
Dim objArgs
Set objArgs = WScript.Arguments
Dim strFileName
If objArgs.Count = 0 Then
strFileName = InputBox("変換したい CSV のファイル名をフルパスで入力してください。")
Else
strFileName = objArgs(0)
End If
'ファイル名が入力されなかったら終了
If strFileName = "" Then
WScript.Quit
End If
Dim objFS
'定数の定義
Const ForReading = 1,ForWriting = 2,ForAppending = 8
Set objFS = WScript.CreateObject("Scripting.FileSystemObject")
Dim objFileInput
Dim objFileOutput
Set objFileInput = objFS.OpenTextFile(strFileName, ForReading)
Set objFileOutput = objFS.CreateTextFile(strFileName & ".convert.csv", True)
Dim aryDestCols(4)
Dim strLine
Dim arySrcCols
Dim strCol
'ヘッダを書き出す場合はここで。
objFileOutput.Write _
"""1カラム目"",""2カラム目"",""さ~んカラム目""" & vbCrLf
Do Until objFileInput.AtEndOfStream
'変換元CSVを1行読み込む
strLine = objFileInput.ReadLine
'項目ごとに分解する
arySrcCols = Split(strLine, ",")
'マッピング通りに入れ替え
aryDestCols(0) = arySrcCols(3)
aryDestCols(1) = arySrcCols(2)
aryDestCols(2) = arySrcCols(4)
aryDestCols(3) = arySrcCols(1)
aryDestCols(4) = arySrcCols(0)
objFileOutput.Write Join(aryDestCols, ",") & vbCrLf
Loop
objFileOutput.Close
objFileInput.Close
2009年4月17日金曜日
2009年4月2日木曜日
体制変更、技術寄りなポジションに戻りました
技術部門から営業部門に転向して3年。
技術への関心と知識を落さないように、
と思ってこのブログを始めたものの、
結局技術系なネタはほとんどなし、でした。
反省。
そんな中、会社の組織体制が4月から変更、
ボクはまた技術系の立ち位置に戻ることに
なりました。
技術系、といっても、ほとんどプロマネみたいなもんですが。
プロダクトを抱えているので、業務系知識から
市場データや競合等の情報整理、それらをまとめた
製品企画から実装、品質管理まで、幅広く
担当していくことになりそうです。
というか、そういった幅広くまとめていけるように
ならないといけなさそうです。
ちょっと大きな変化ですが、何とかかんとか
頑張っていきたいと思います。
というわけで、今後、ひょっとしたらまた
技術寄りなネタもエントリーできるかもしれません。
期待薄ですが…。
というわけで、今日が新年度スタートの方も
多いかと思いますが、今期もよろしくお願いします。
技術への関心と知識を落さないように、
と思ってこのブログを始めたものの、
結局技術系なネタはほとんどなし、でした。
反省。
そんな中、会社の組織体制が4月から変更、
ボクはまた技術系の立ち位置に戻ることに
なりました。
技術系、といっても、ほとんどプロマネみたいなもんですが。
プロダクトを抱えているので、業務系知識から
市場データや競合等の情報整理、それらをまとめた
製品企画から実装、品質管理まで、幅広く
担当していくことになりそうです。
というか、そういった幅広くまとめていけるように
ならないといけなさそうです。
ちょっと大きな変化ですが、何とかかんとか
頑張っていきたいと思います。
というわけで、今後、ひょっとしたらまた
技術寄りなネタもエントリーできるかもしれません。
期待薄ですが…。
というわけで、今日が新年度スタートの方も
多いかと思いますが、今期もよろしくお願いします。
登録:
投稿 (Atom)