お世話になります。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Access】クエリで抽出...
-
Wordの文章をExcelに内容ごとに...
-
CSVファイルでの数字表記のエラー
-
ACCESS でインポートフ...
-
複数のメールファイルを1つの...
-
複数のエクセルファイルをアク...
-
CSVファイルとテキストファ...
-
Excelでhtml形式のテキストを表...
-
CSVファイルのダブルクォーテー...
-
ACCESS複数テキストファイルを...
-
列数が4000を超えるcsvファイル...
-
ダブルクォーテーション囲いカ...
-
アクセスで小数点以下1桁まで...
-
複数eml形式のBecky!への一括イ...
-
Excelのデータ(数字)をテキス...
-
多数のeml形式ファイルを1つの...
-
差し込み印刷の元データファイ...
-
ISOファイルとMDSファイル
-
エクセルで誰が今開いているか...
-
EXCEL共有ファイルの使用中の相...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Wordの文章をExcelに内容ごとに...
-
【Access】クエリで抽出...
-
Excelのデータ(数字)をテキス...
-
SQLSever 一括インポートについて
-
複数eml形式のBecky!への一括イ...
-
ダブルクォーテーション囲いカ...
-
Excelでhtml形式のテキストを表...
-
多数のeml形式ファイルを1つの...
-
アクセスで小数点以下1桁まで...
-
ACCESS でインポートフ...
-
エクセル2000で65536行を超える...
-
[VBA]csvファイルを開いて保存...
-
アクセス(ACCESS) インポート...
-
複数のメールファイルを1つの...
-
notepad++ で作成した文書を cs...
-
VBA 複数のCSVファイルを一度...
-
【AccessVBA】ダイアログで複数...
-
列数が4000を超えるcsvファイル...
-
CSVファイルでの数字表記のエラー
-
Excel 2016 テキストファイルの...
おすすめ情報