
お世話になります。
CSVファイルをExcelファイルに変換する場合、CSVファイルをExcelで開いて拡張子を「xls」もしくは「xlsx」を指定して保存すればよいかと思いますが、PCにExcelがインストールされてない環境の場合、Excelに変換することは不可能でしょうか。
今回、Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。
なので、インポートする前準備としていったんExcelに変換したいと考えているのですが。。そのPCにExcelがインストールされてないと、やはり変換することは出来ないでしょうか。
もしくは、カンマ区切りのCSVファイルをタブ区切りに変換したりすることは出来ますでしょうか。
ご教授の程、宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
>Accessにてツールを作成し、CSV(カンマ区切り)のデータを読み込もうとしておりますが、そのデータの中には単語の中にカンマが含まれているものがある為、普通にCSVをインポートしようとすると、ズレてしまいます。
毎回同じCSVのフォーマットだったら
(項目数やデータ型など)
一度インポートウィザードで進めて行って
設定ボタンから定義を保存し
次回からはその定義名を使用してインポートしては?
VBAならDocmd.transferText のヘルプにあるSpecificationNameに定義名を入れます。
・・・じゃダメかいな?
>インポートする前準備としていったんExcelに変換したい
CSVファイルを直接開くとExcelのお節介機能で
電話番号などの前ゼロがなくなったり、ハイフン付きのデータが日付と解釈されたり・・・
ということががあるので、拡張子CSVをTxtに変えてから
Excelで開こうとするとウィザードが立ち上がって・・・と出来ますが
結局のところ二度手間です。
ご参考まで。
この回答への補足
ウィザードにある
フィールド区切り記号は「カンマ」
テキスト区切り記号を「”」
にすることで、項目2が区切られずにインポートすることができました!
ありがとうございました。これを定義に登録したので、VBAでインポートするときにこの定義名を指定してあげればってことですよね。
早速試してみたいと思います。
ありがとうございました。
NotFound404さま
いつもご回答ありがとうございます。
例えば、
ID 項目1 項目2
1 ああ 835
2 いい 121
3 うう 832
4 ええ 1,053
5 おお 5,231
という内容のCSVファイルをインポートする場合、インポートウィザードでは自動的にフィールド4が生成され、
ID 項目1 項目2 フィールド4
1 ああ 835
2 いい 121
3 うう 832
4 ええ 1 53
5 おお 5 231
に区切られてしまいます(要するにカンマで区切られてしまう)。
このような場合、インポート定義しておけば項目2がカンマで区切りされない・・ということでしょうか?
実際に、インポートウィザードを開いて定義の画面を開いている状態なのですが、どこをどうすれば区切られなくできるのかわかりません。
その辺をご教授頂けると幸いです。

No.3
- 回答日時:
パソコンにメモ帳があるから、それで読み込んで編集できますよ
そして、拡張子はcsvのままで保存
miura8miiuraさま
ご回答ありがとうございます。
また、説明不足で申し訳ございません。単語にカンマが含まれているものはダブルクォーテーションで囲まれてます。
確かにメモ帳で開いて編集することは可能ですが。。
当該CSVファイルは約60万行あります。なので、「単語にカンマが含まれるもの」を何らかの方法で検索し、カンマを別の文字列に変換し、インポート後にその文字列をカンマに戻すというような処理をしなければなりませんので、その処理だけで結構重くなることを懸念しております。
また、「単語にカンマが含まれるもの」を見つける為のプログラムを作り込まなければなりません。
なので、単純にExcelに変換すれば問題なくインポートできるようになるので、それが一番いいかなと思った次第です。
No.2
- 回答日時:
>スキマソフトウェア:CSV to Excel
>http://soft.sukima.client.jp/csv2excel/
このようなものがありました
ダブルクォートで囲っているものは1つの文字列として処理するなど、ちゃんとやってくれるようです。
asciizさま
ご回答ありがとうございます。
当該ソフトはコマンドラインでも使えるようなのでよさそうですね。
但し、
>列数 39、行数 1000、約 300 KB の CSVファイルの変換時間は、約40秒
との記載がありました。
今回のCSVは約60万行(14列)あるので、単純に計算すると400分。。6時間以上かかることになりますが、とりあえず検証してみたいと思います。
ありがとうございました。
No.1
- 回答日時:
> ・・・そのデータの中には単語の中にカンマが含まれているものがある為、・・・
そのようなデータであればExcelでも不都合が発生します。
まずはcsvとして扱えるようにデリミッタ(区切り文字)を正確に付けておくことから始める必要があります。
csvは何もExcelでなければ扱えないということはありません。
たとえばフリーのLibre Officeでも扱えます。
PowerShellでも簡単に扱えます。
いずれにしてもデリミッタを識別してデータ処理するものです。
ktedsさま
ご回答ありがとうございます。
説明不足で申し訳ございません。当該CSVファイルで単語にカンマが含まれているものに関しては、ダブルクォーテーションで囲まれてます。なので、Excelにするとちゃんとその単語は1つのセルに収まり、そのExcelをインポートすると問題無いことは確認済みです。
Libre Office、PowerShellについて調べてみたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) Excelについて。 Excelからcsv変換したいのですが、 やり方はファイル→名前をつけて保存→ 7 2022/07/27 01:10
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Visual Basic(VBA) マクロを教えてください。 7 2023/06/01 19:47
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) csvに別のExcelの文章を差し込む 2 2023/04/01 16:06
- Excel(エクセル) csvファイルをExcel形式で読み込むには 2 2023/07/03 13:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDF の物をエクセルに変換をし...
-
特定行の選択、抽出
-
テキストファイルをエクセルで...
-
VBA初心者です。質問があまりに...
-
データベースの移行
-
数値を文字列として読み込ませ...
-
ExcelVBAを使ってテキストファ...
-
エクセルからのインポートについて
-
メモメモ暗記 IpodからPCへ
-
アクセス2007でのインポートエ...
-
複数eml形式のBecky!への一括イ...
-
[VBA]csvファイルを開いて保存...
-
Excelでhtml形式のテキストを表...
-
Access CSVインポート フィール...
-
【関数】同じ関数なのに、エラ...
-
ISOファイルとMDSファイル
-
【マクロ】EXCELで読込したCSV...
-
差し込み印刷の元データファイ...
-
エクセルの循環参照、?
-
Word差し込み印刷、フォルダの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
SQLSever 一括インポートについて
-
Excelのデータ(数字)をテキス...
-
多数のeml形式ファイルを1つの...
-
ダブルクォーテーション囲いカ...
-
複数のメールファイルを1つの...
-
複数eml形式のBecky!への一括イ...
-
【AccessVBA】ダイアログで複数...
-
アクセス(ACCESS) インポート...
-
VBA 複数のCSVファイルを一度...
-
アクセス2007でのインポートエ...
-
[VBA]csvファイルを開いて保存...
-
notepad++ で作成した文書を cs...
-
VBAのQueryTableオブジェクトの...
-
Excelでhtml形式のテキストを表...
-
ACCESS複数テキストファイルを...
-
ACCESS でインポートフ...
-
CSVファイルを固定長のテキスト...
-
エクセル2000で65536行を超える...
おすすめ情報