「Perlによる巨大CSVファイルの操作について」の版間の差分
ナビゲーションに移動
検索に移動
imported>Webmaster (ページの作成:「仕事上、データベースから出力したCSVファイルを元にデータ整理をする必要に迫られたが。最近はデータ良能肥大によりEXCELで...」) |
imported>Webmaster |
||
5行目: | 5行目: | ||
条件抽出したり、いろいろなことをPerlをつかってできないかと思って四苦八苦しました<br /> | 条件抽出したり、いろいろなことをPerlをつかってできないかと思って四苦八苦しました<br /> | ||
== File::Sortモジュール == | == File::Sortモジュール == | ||
− | + | File::Sortはファイルの内容を行単位でソートし,別のファイルへ出力する。機能ですか使ってみると以下の機能があることがわかりました<br /> | |
+ | *ある区切りを基準にしてソート(並び替え)をして別のファイルへ出力する | ||
+ | *複数のファイルをマージして別のファイルへ出力する | ||
+ | *ある区切りを基準にた重複行を削除して別のファイルへ出力する | ||
+ | テストベットで試験をしたら1000万行のソート(並び替え)は90分で完了しました。<br /> | ||
+ | これは'''File::Sortモジュール'''を使用することで巨大CSVファイルの並び替えや操作が可能ということがわかりました。 | ||
---- | ---- | ||
<!-- カテゴリに追加するページ名を記入 --> | <!-- カテゴリに追加するページ名を記入 --> | ||
[[Category:PerlPerlによるきょだいCSVふぁいるのそうさについて]] | [[Category:PerlPerlによるきょだいCSVふぁいるのそうさについて]] |
2017年10月17日 (火) 23:38時点における版
仕事上、データベースから出力したCSVファイルを元にデータ整理をする必要に迫られたが。最近はデータ良能肥大によりEXCELでは処理しきれなくなった(要するに100万行を超えた)CSVを扱う必要が出てきたので。Perlによる巨大CSVファイルの操作についていろいろやってみた
巨大CSVファイルの操作
巨大ってどれくらいかというと、大体100万行~1000万行程度のテキストCSVファイルを指しており。操作というのは主にあるキーを元にしてソート(並び替え)や重複ファイルの削除を考えています。
もっと欲を言えば、1000万行や1億行のデータからある条件でピボットテーブル(クロス集計)で中央値を出したり、平均値を出したり。
条件抽出したり、いろいろなことをPerlをつかってできないかと思って四苦八苦しました
File::Sortモジュール
File::Sortはファイルの内容を行単位でソートし,別のファイルへ出力する。機能ですか使ってみると以下の機能があることがわかりました
- ある区切りを基準にしてソート(並び替え)をして別のファイルへ出力する
- 複数のファイルをマージして別のファイルへ出力する
- ある区切りを基準にた重複行を削除して別のファイルへ出力する
テストベットで試験をしたら1000万行のソート(並び替え)は90分で完了しました。
これはFile::Sortモジュールを使用することで巨大CSVファイルの並び替えや操作が可能ということがわかりました。