
秀丸などのテキストエディタで、csvファイル内の特定の空白をカンマに置き換えたいのですがうまくできません。どなたかお詳しい方助けていただけますでしょうか?
例えば以下のようなcsvファイルのデータがあったとします。
123,サンプル,123 000,カラー,abc efg,サイズ,hij klm,
このデータの"123 000"の文字間の半角スペースの部分だけを数字として認識するために、カンマに置き換えたいと考えています。(セルとして区切りではなく)
【置き換え前】
123,サンプル,123 000,カラー,abc efg,サイズ,hij klm,
↓
【置き換え後】
123,サンプル,123,000,カラー,abc efg,サイズ,hij klm,
(”abc efg”と”hij klm”の文字間の半角スペースはそのままです)
秀丸などのテキストエディタで、"123 000" を"123,000"に置換すると、 csvファイルとして開くときに、123と000が別のセルになってしまい困っています。
エクセルなどを使わずエディタなどで置き換える方法を探しています。
どなたかお詳しい方何卒宜しくお願いいたします。
No.3ベストアンサー
- 回答日時:
変換後のものが " " で囲まれている状態にする必要があります。
空白が1つだけなら、「(\d+) (\d+)」を「"\1,\2"」に置き換えれば良いです。
空白が2つのケースもあるなら、一回の置き換えでは無理です。まず空白2個の「(\d+) (\d+) (\d+)」を「"\1,\2,\3"」に置き換えてから上の置き換えを行う。
3つ以上あり得るケースも、同じ要領で、まず空白が最大個数のケースを処理してから、何回も置き換えをします。
No.4
- 回答日時:
ちょっと面倒な方法ですが、ExcelでCSVファイルを開いて、該当数値列全体を選択して検索する文字列をスペース1文字、置換後の文字列を","(カンマ1文字を"で囲む)に設定して置換します。
一旦別のCSVファイルへセーブすると該当数値列が123 000から"123"",""000"へ変換されていると思うので、テキストエディタで"",""を,(カンマ1文字)へ変換すれば"123,000"になると思います。No.2
- 回答日時:
まぁ普通に考えれば、csvを前提とするなら数字に挟まれた空白を削除するのが妥当では?
(カンマに変えること自体csvの弱いところをつつくことになるので)
数字だけで埋めればエクセルでひらけば数値になります。
たとえば「(\d) (\d)」を「\1\2」にかえるとか
ただしそのセルが確実に数字だけとか、数字として妥当かどうかまでチェックすると
かなりめんどうな書き方になります。
たとえば「aaa1 2bbb」は上記の検索ワードだとスペースが削除されてしまいます。
また「1234 567」など3桁区切りじゃないデータは文字列なのか数値なのか微妙です。
そのた小数点があるデータなどが出てくるとさらに面倒になります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelで、半角スペースをTABに...
-
Excelの入力済みセルに一括で、...
-
Excelからテキストへのコ...
-
Excelのシートにある1行...
-
Excelの空文字セルの削除方法を...
-
【エクセル】ピボットテーブル...
-
excelで可視セルのみ置換
-
エクセルでセル内の一部分だけ...
-
別シートのリストから置換する方法
-
エクセルでセルを文字列設定し...
-
エクセルで「4」「9」抜けの...
-
小数点を消す方法
-
一括でダブルクリックした状態...
-
エクセルのセルの中の,よりも前...
-
Excelで特定の文字の前だけに空...
-
企業名簿で(株)や(有)を無視し...
-
エクセル マクロで転記したら...
-
置換機能を使わずに先頭に「'」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで文字の入力がセルの...
-
多数の計算セルに一括で同一の...
-
Excelで、半角スペースをTABに...
-
Excelからテキストへのコ...
-
excelで可視セルのみ置換
-
Excelの空文字セルの削除方法を...
-
Excelのシートにある1行...
-
エクセルで「4」「9」抜けの...
-
一括でダブルクリックした状態...
-
【エクセル】ピボットテーブル...
-
置換機能を使わずに先頭に「'」...
-
Excelの入力済みセルに一括で、...
-
小数点を消す方法
-
エクセルでセル内の一部を一括...
-
Excelのアポストロフィーの削除
-
エクセルのセルの中の,よりも前...
-
エクセルでセル内の一部分だけ...
-
企業名簿で(株)や(有)を無視し...
-
Excelで特定の文字の前だけに空...
-
別シートのリストから置換する方法
おすすめ情報
ご回答ありがとうございます。
説明不足で申し訳ありません。
実際のデータでは"123 000"はデータごとに数値がことなります。
また桁数もことなるのですが、3桁ごとに空白が空いています。
そこを空白ではカンマに置き換えたいと考えています。
宜しくお願いいたします