
CSVファイルをタブ区切りにする手順は
ツールーバーの
【データ】→【区切り位置】→カンマ、タブ
などの設定で出来ると思います。
その手順を何度も繰り返すのが面倒なため、
バッチファイルを作成しようと考えています。
やりたい事としまして、
(1) .csvファイルをコマンドプロンプトに入れる(ドラックドロップ)
(2) カンマ区切り→タブ区切りに変換し、上書き保存
ということをコマンドプロンプト(バッチファイル)で行いたいです。
関数としては for /f を使うのだと思うのですが、
よく分からないため教えていただきたいです。
宜しくお願いいたします。
A 回答 (6件)
- 最新から表示
- 回答順に表示
No.6
- 回答日時:
ここは、ツールに頼りましょう。
WINDOWSを使っているという前提で説明します。
これ、カンマ区切り→タブ区切りを行うツールです。
http://
sourceforge.jp/projects/csvpp/downloads/43750/csvtab106.lzh
このファイルを解凍すると、CSVTAB.EXEというプログラムが出てきますので
バッチファイルのあるフォルダに置くか、WINDOWSフォルダに置いて下さい。
バッチファイルは、こんな感じで
CSVからTAB区切り.CMD
TYPE "%~dpnx1" | CSVTAB - "%~dpnx1"
このバッチファイルにCSVファイルをドロップすれば
元のファイルをTAB区切りに変換できます。
ただ、前の回答者さんも上書きは推奨していませんので
別ファイルに保存する方が無難かと。
他の回答者さんが気にされていた
セル内の改行はこれで対応します。
https://
sourceforge.jp/projects/csvpp/downloads/36413/csvcellretchg102.lzh
このファイルを解凍すると、CSVCELLRETCHG2.EXEというプログラムが出てきますので
これもCSVTAB.EXEと同じ所に置いてから
CSVからTAB区切り。セル内改行もOK.CMD
TYPE "%~dpnx1" | CSVCELLRETCHG2 - - | CSVTAB - "%~dpnx1"
お試し下さい。
No.4
- 回答日時:
ANo.1です。
> 試してみたところ、空のテキストファイルが出力されてしまいました(タブはしっかり変更しました。)
そうですか、こちらの環境では動いていますので、環境の問題か、CSVファイルが特殊な物かのどちらかでしょうか。
環境(OS)と、どの様なCSVファイルを変換するつもりなのかサンプルを提示してもらえますか。
No.2
- 回答日時:
文書内にタブやカンマ、改行があったらどうするのですか?
CSVはアプリケーション依存でエクセルの出力するCSVはエクセル流です。
一旦エクセルで開いて別名保存をするか、
perlを使うと良いです。
No.1
- 回答日時:
> (1) .csvファイルをコマンドプロンプトに入れる(ドラックドロップ)
↑は、バッチファイルのアイコンの上にCSVファイルをドロップするという意味かなぁと勝手に解釈しました。
また、ファイルの上書きはお勧めしませんので、今回は「mkFile.txt」と言うテキストファイルに変換結果を出力させています。
なお、この掲示板はTabを削除して表示してしまうっぽいので、タブを「*」に置き換えました。実際のBatファイルでは「*」の部分にタブを入力してください。
@echo off
set mkfilename=mkFile.txt
type nul >%mkfilename%
setlocal ENABLEDELAYEDEXPANSION
for /f "delims=" %%A in (%1) do (
set line=%%A
echo !line:,=*!>>%mkfilename%
)
endlocal
こんな感じで如何でしょう。
この回答への補足
回答ありがとうございます。
試してみたところ、空のテキストファイルが出力されてしまいました(タブはしっかり変更しました。)
やはり、バッチファイルで組むのは難しそうですね…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Dosブロンプトでtabを出力したい
その他(プログラミング・Web制作)
-
テキストファイルのタブをカンマに変える方法
その他(プログラミング・Web制作)
-
タブ区切りのテキストファイルをCSVに変換する
その他(ソフトウェア)
-
-
4
区切り文字をTABにしたい
Perl
-
5
カンマ( , )をタブに置換したい。
PowerPoint(パワーポイント)
-
6
Windowsのバッチファイルで正規表現の置換方法について…
Windows 10
-
7
バッチでCSVを処理する時、空の項目があった場合
その他(プログラミング・Web制作)
-
8
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
9
【DOSバッチ開発】末尾のタブのみ削除したい
その他(プログラミング・Web制作)
-
10
CSVファイルの中で、「 , 」カンマを使いたい
その他(コンピューター・テクノロジー)
-
11
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
12
バッチファイル 文字列にスペースがある場合
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Edge スクレイピング
-
C言語で特定の行を抽出する方法...
-
VBAのFileFormatで悩んでいるこ...
-
全角と半角文字が混在している...
-
バッチファイルの作り方(CSV→...
-
空白文字 \\f と\\v の違いに...
-
タブの色を変更する方法
-
【エクセル】改行無しテキスト...
-
エクセルVBA コードが同じでも...
-
Windowsで複数のファイルを同じ...
-
C言語でファイル名を取得
-
window.open でのファイル指定方法
-
ReadLineでの読み出し行を指定する
-
vba dir の相対パス
-
awkスクリプトでダブルクォーテ...
-
JSP URLに表示される拡張子 .jsp
-
ディレクトリの判別
-
メールアドレスでメンバー認証
-
1行がやたら長いテキストをバッ...
-
fgets で値が取得できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で特定の行を抽出する方法...
-
バッチファイルの作り方(CSV→...
-
【エクセル】改行無しテキスト...
-
Edge スクレイピング
-
CSVファイルのフォーマット
-
タブの色を変更する方法
-
【Access2003】VBAでタブ区切り...
-
空白文字 \\f と\\v の違いに...
-
INPUTデータを分割したい!
-
Arduino Excel
-
VB6でのデータの編集(ファイル...
-
VBAでタブ区切りテキストの保存...
-
AccessからExcelをタブ指定で開...
-
perlによるデータのくっつけ方...
-
C++でファイルから複数行のデー...
-
Javaのコーディングスタイル
-
はじめまして。よろしくお願い...
-
Excelのマクロで改行を含んだテ...
-
タブコントロールに付いて
-
エクセル→XML 要素のコピー
おすすめ情報