CSVの指定セルの値を上書きしたい
CSVの指定セルの値を上書きしたいです。
アイデアの一部や、運用中だったり経験済みの方法について、お知恵を拝借させてください。
現在、テキストファイル操作やExcel操作あたりのライブラリの組み合わせで実現できないかリサーチ中です。
近そうなノウハウはいくつかヒットします。
テキストファイルの一部を置換 - jfmillet40
https://sites.google.com/site/jfmillet40/home/vbscript/tekisutofairuno-yi-buwo-zhi-huan
→ 行の最後にフラグを立てるくらいならできるのかも
OpenTextFileメソッドによるテキストファイル操作 - Excel VBA
https://www.239-programing.com/excel-vba/fso/fso027.html
→ 行のカラム(文字単位っぽい)を読み込めるということは、そのカラムの置き換えもできるのかも
全面的にスクリプト作成だと骨が折れるので、なるべくなら既成のライブラリとかネットやユーザーフォーラムのノウハウにあやかりたいです。
みなさま自身の課題なら、どう攻略しますか。
背景
- シナリオが1台運用で軌道に乗り次第、台数を増やす予定
- 作業の重複回避のため、マスターファイルを複数台でシェアしたい
- たとえば端末Aが着手済みなら、端末Bはその行をスキップしたい
- 各端末は最新のリストを取得すると同時に、C列にフラグがない行を未着手としてキャッチ
↑ ここまでできている - 同時にC列に対応中フラグを立てたい
↑ 今回の質問の焦点 - マスターファイルのCSVは1~3MB程度の見込み(3MB弱でも、メモ帳ではOpenもSaveもCloseも一瞬)
1万行未満で世代交代する予定 - Ver.630で手が届く範囲に収めたい
Win10
Excel2013
ここに『「CSVファイルの指定した行と列の値を取得する」ノード』の記述があります。
ひょっとして、設定するほうのライブラリもあったりするのでしょうか。
プチライブラリ等で見当たらず、、
WinActorノート経由で1万行も試してみようと思います。
https://winactor.com/questions/question/csvファイルで特定の列の日付が昨日の行だけ読み/
指定セルの書き込みが1秒未満に収まるなら嬉しいんですけど。
近そうなトピック、ファイルの占有が一瞬で済むなら行末への追記も検討してみます。
PowerShell方面も探ってみました。
パワーシェルでcsvの編集を行いたいのですが、途中にカラムを追加する方法を - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12198471347
→ 3行程度でクリアできるなら、速度も期待できそう
PowerShell - PowerShellでテキスト系ファイルの指定した行に対する文字列の追加ができない。|teratail
https://teratail.com/questions/75141
→ 行の後ろに追加される模様、ドンピシャではないものの目的はクリアできるのかも
PowerShellでsed相当の処理を行う | 俺的備忘録 〜なんかいろいろ〜
https://orebibou.com/ja/home/201501/20150119_001/
→ 行ごと置き換えでも成り立つのかも