質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Q&A

解決済

2回答

14630閲覧

バッチファイルでCSVファイルの加工

durasama

総合スコア18

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

CSV

CSV(Comma-Separated Values)はコンマで区切られた明白なテキスト値のリストです。もしくは、そのフォーマットでひとつ以上のリストを含むファイルを指します。

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

0グッド

1クリップ

投稿2019/02/20 01:07

編集2019/02/20 01:26

CSVファイルの特定列の特定文字数の箇所にスペースを追加するバッチファイルを作成したいです。

例えばデータベースにインポートする為のCSVファイルの中で
L列に14桁の数字(20190101120000)のような時間をそのまま羅列した文字列があり

これをデータベースのtimestamp型にインポートできるようにバッチファイル上でCSVファイルを加工し、その下にインポートする処理を記述したいと思っています。

CSVをデータベースにインポートする処理は作れているのですが、その前に加工する処理が作れておりません。

バッチファイル(.batファイル)の作成は初めてでどなたかご教授頂きたいと思っております。

環境
OS:Windows10
DB:PostgreSQL11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2019/02/20 01:11

あなたの PC の OS は何か、あなたの言う「バッチファイル」とは何か、DB は何か(SQL Server? MySQL? その他?)を書きませんか?
durasama

2019/02/20 01:26

申し訳ございません 情報不足でした。 上記の内容を追加しました。
退会済みユーザー

退会済みユーザー

2019/02/20 01:36 編集

C# または VB.NET のプログラムを自力で作って、それで行うということは考えてないのでしょうか? それが多分一番簡単だと思うのですが・・・ 他には、Excel に読み込ませてマクロとか VBA とかで操作できれば、そちらの方が簡単かもしれません。
aki.aki.

2019/02/20 03:11

ちなみに、 20190101120000 を、どのように更新すれば良いのですか?
durasama

2019/02/20 04:02

timestamp型になるようにデータベースにインポートしたいので 20180101 120000など日付と時間の間にスペースが入るぐらいの処理で問題ありません。
aki.aki.

2019/02/22 07:52

解決済になりましたが、どのように解決したのかわかると、知識の共有になって良いかと思います。
guest

回答2

0

ベストアンサー

winのバッチ(.bat)ではハードルが高い処理だと思います。
せめてwsh(.vbs)でやるならCSVの処理はネット上にいくらでも
サンプルが転がっています

投稿2019/02/20 01:42

yambejp

総合スコア114821

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

durasama

2019/02/20 07:15

yambejp様 ご回答ありがとうございます。 .vbsも触ったことないのですが学習のため .vbsにて調べながら作成していこうかと思います。
guest

0

これでどうかな
@echo off
for /f %%d in (test.csv) do (
set e=%%d
set f=%e:~0,8% %e:~8,4%
echo %f%>>test_o.csv
)

test.csv を下記としています。
20180101120000
20180101120000
20180101120000
20180101120000

詳しくは、『dos ループ』『dos 文字列』『dos 変数』とかで、検索の上、モディファイしてください。自己責任で使って下さいね。

投稿2019/02/20 04:39

aki.aki.

総合スコア58

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問