以下のような、カンマで区切られたCSVファイルがあるとします。
個人ID,測定日,速度,曜日,エラーチェック
a001,20110212,0,1,0
a001,20110212,5,1,0
a001,20110212,10,1,0
a002,20110212,2,1,1
a002,20110212,8,1,0
a003,20110212,10,1,1
a003,20110212,15,1,0
これが実際には下に4000万行ほど続き、ファイルサイズは2GBを超えます。
そのため、使用しているExcel(2010)では完全に開くことができません。
そして、やりたい作業は以下の2つです。
1、列を絞りたい
たとえば、個人IDと速度、エラーチェックだけ残してあとは消す、など。
2、行でファイルを分割したい
たとえば、a001さんのデータだけを抽出したCSVファイルを別で保存するなど。
最低限、巨大なCSVファイルを扱うことができるエディタがあればよいのですが、上に挙げた作業が簡単にこなせる機能があれば嬉しいです。
また、プログラムはFortran90を扱うことができますので、Fortranによる方法があればそちらでもかまいません。(その場合は、完全でなくてもよいのでソースを書いてくださると助かります。)
No.1
- 回答日時:
Linuxならgrepとawkでできます。
Windowsならこれを使えば。
http://www.vector.co.jp/soft/winnt/util/se365621 …
http://www.vector.co.jp/soft/win95/util/se376460 …
grepでa001を含む行だけ抽出
awkで特定の項目だけ抽出
No.2
- 回答日時:
MS-EXCELではデータ吸うに限界があります。
MS-ACCESSを使えば簡単にできます。
エディタでやるなら、TeraPadはどうですかね?
データ数の限界は知りませんが、パソコンのメモリー限界までいけるんじゃないでしょうか?
2GBということなので、WindowsならXP機ではできないですね。
Windows7で、メモリーを4GB以上積んでいればできるのじゃないでしょうか?
No.3
- 回答日時:
ACCESSのファイルサイズは
2 GB からシステム オブジェクトに必要な領域のサイズを引いた値らしい。
Filemakerは
単一のテーブル内のレコード数:ファイル寿命全体を通じて、合計 64,000 兆
までのレコード
ファイルサイズ : ハードディスクおよび OS の API の能力によって、最大8TB
ですから問題無いと思いますけど。
No.4
- 回答日時:
書き忘れましたけど
Filemakerは30日体験版がありますので是非テストしてみて
結果をお教え下さい。ホントに4000万レコード扱えるのか。
体験版をインストールしたらデスクトップにショートカット
できるので、それにCSVをドロップするだけです。
1も2もメニューから選ぶだけですぐできますから是非お願い
します。
貴重なご意見、ありがとうございます。
Filemakerを試してみました。読み込みはできて、一応やりたかった作業はこなせそうです。
しかし、使用に関して問題点が多く、今回メインで使用することはあきらめました。
問題点は、以下の3つです。(使用PCは、Core-i7採用、16GB RAM、SSD搭載です)
1、読み込みに時間がかかる。(4000万行、2GBで1時間以上かかりました)
2、処理に時間がかかる。(列を1つ消すのに20分くらいかかりました)
3、余計なファイルが作成される。(編集用?に、1.5倍以上の容量のファイルが一緒に保存されました)
かなり便利なツールだとは思いますが、大容量ファイルには向かないのだと思います。
No.5
- 回答日時:
早速テストしていただいてありがとうございます。
とても参考になりました。
やはり技術仕様をそのまま鵜呑みにはできないですね。
4000万行というのが凄いですけど。
No.6ベストアンサー
- 回答日時:
そりゃExcelのワークシートには読み込める行数の制限はありますが、
VBAでファイルの読み書きをする分には問題ないはず。(ただ、3GB位のテキスト
ファイルを読んだことがあるだけで、大容量のファイルの書き出しは
したことはないのだけれど。この時のExcelのバージョンは2000です。)
以下、VBAのサンプル。
Sub 列を絞る()
fno1 = FreeFile
Open "入力ファイル名" For Input As fno1
fno2 = FreeFile
Open "出力ファイル名" For Output As fno2
Do While Not EOF(fno1)
Input #fno1, a1, a2, a3, a4, a5
Write #fno2, a1, a3, a5
' a1 の前後に"(ダブルコーテーション)が挿入されます。
' 都合が悪ければ以下を使用のこと。
' Print #fno2, CStr(a1); ","; CStr(a3); ","; CStr(a5)
Loop
Close fno1
Close fno2
End Sub
Sub 行を分割()
fno1 = FreeFile
Open "入力ファイル名" For Input As fno1
fno2 = FreeFile
Open "出力ファイル名" For Output As fno2
Do While Not EOF(fno1)
Input #fno1, a1, a2, a3, a4, a5
If a1 = "a001" Then
Write #fno2, a1, a2, a3, a4, a5
End If
Loop
Close fno1
Close fno2
End Sub
フリーウェアを使用するのに制限がないのなら、No.1さんのgrep, awkを使用するのが
お勧めです。特にプログラムを書かなくても(書いても1行程度)実行可能なのが魅力です。
列を絞る場合:
awk -F, '{ OFS=","; print $1, $3, $5; }' 入力ファイル名 > 出力ファイル名
行を分割する場合:
grep "a001" 入力ファイル名 > 出力ファイル名
以上
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- Visual Basic(VBA) エクセルVBAについて 8 2022/07/13 22:41
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「.movpkg」「.m3u8」ファイル...
-
YahooのIDがロックされてしまい...
-
iTunesを完全にアンインストー...
-
ITの見積もりってなんであんな...
-
フォルダ内にある全ファイルの...
-
LDPlayerのマクロの編集方法を...
-
グーグルスプレッドシートで他...
-
WPS Officeって有料ですか?
-
CAE
-
マックの表計算ソフト
-
jtrim 1.53cが正常な動きをし...
-
Premiere Proで書き出し速度を...
-
Windows11のエクスプローラーで...
-
最新のpowershellについて。
-
ゆうちょ認証アプリが使えません
-
ペイントで切り抜いた画像の背...
-
ラインで、自分が誰かを追加し...
-
パソコンでJPEG画像ファイルを...
-
Image Burn で、mp4 の動画をis...
-
Emacsメニューの日本語化について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ITの見積もりってなんであんな...
-
YahooのIDがロックされてしまい...
-
「.movpkg」「.m3u8」ファイル...
-
ゆうちょ認証アプリが使えません
-
jtrim 1.53cが正常な動きをし...
-
ATOKをお使いの方、今後もVer U...
-
CMYKのペイントソフトを探して...
-
グーグルクロムにダウンロード...
-
ホームページビルダーのバージ...
-
自分で描いた下手な絵を綺麗に...
-
パソコンでJPEG画像ファイルを...
-
マックの表計算ソフト
-
Numbersについてお伺いです。 ...
-
写真の印刷レイアウトについて
-
STEAM版BF4が起動しない
-
フォルダ内にある全ファイルの...
-
gimpで文字の細工をしたい
-
新バージョンPDFでのスナップシ...
-
Windows 11 に対応する作業
-
先日からDigiBestTVで「デバイ...
おすすめ情報