Perlを使用してCSVファイルを作成し、それにデータを書きたいとします。それを行う方法はありますか?Perlを使用してCSVファイルを作成するにはどうすればよいですか?
19
A
答えて
24
Class:CSVを使用できます。
use Class::CSV;
my $csv = Class::CSV->new(
fields => [qw/userid username/]
);
$csv->add_line([2063, 'testuser']);
$csv->add_line({
userid => 2064,
username => 'testuser2'
});
$csv->print();
# 2063,testuser
# 2064,testuser2
編集:複数のライブラリのために、あなたはsearch CPANをすることができます。
17
我々は通常使用(上記Class::CSV
をに基づいています)Text::CSV_XS
UPDATE:以下もコメント提出はText::CSV_PP
に頼る、それが接続可ではない場合、Text::CSV_XS
をアップロードしたりれるText::CSV
を使用することをお勧めしていますXS
依存関係がなく、インストールが簡単です。
9
複数の方法があります。
- DBD::CSV - CSVファイルの読み書きにSQLを使用します。
- Text::CSV - 一度に1行ずつCSVファイルをビルドして解析します。これは、CSV操作の金本位制です。
- POE::Filter::CSV - POEコンポーネントIOにCSVフィルタを提供します。
- Data::Tabular::Dumper::CSV - テーブルをCSVファイルに直接ダンプします(同じインターフェイスを持つオブジェクトはXMLまたはMS Excelファイルにダンプできます)。
CPANには他にも多くのものがあります。もちろん
、あなたはこのすべてを無視して、ループを使用し、参加して印刷できます。
my @table = (
[ 'a', 'b', 'c'],
[ 1, 2, 3 ],
[ 2, 4, 6 ],
);
for my $row (@table) {
print join(',', @$row), "\n";
}
ちょうどあなたのスクリプトを実行し、出力をファイルにリダイレクトし、強打!あなたは終わった。または、ファイルハンドルにopenを狂わせてファイルに直接印刷することもできます。
しかし、このようなデータ処理タスクでは、複数行のフィールドや埋め込みコンマ、その他多くの奇妙なものが表示されることはありません。だからこのアプローチには注意してください。
私の勧告は:
- あなたはPOE アプリケーションを構築する場合、POE ::フィルターを使用しています。
- SQLでSQL/DBIモンスターで夢を見ている人、またはCSV の出力を実際のデータベース 接続で置き換える必要がある場合は、DBD :: SQLを使用してください。 、ダイジェストプリントを使用して参加する
- スプレッドシートのためのいくつかのデータを 単純なデータを持っていると 形式に汚い少し使い捨てスクリプト一緒 をcobblingしている場合 - の予想寿命となしのコードのためにこれを行います2時間以上。
- CSVまたはXMLにデータの塊をダンプしたい場合は、 Data :: Tabular :: Dumper :: CSVを使用します。
- 安定性と保守性が高く、入力と出力を最大限に制御する必要がある場合は、Text :: CSVを使用します。 (POE :: Filter :: CSV、Data :: Tabular :: Dumper :: CSV、およびDBD :: CSVはすべて、バックエンド処理としてText :: CSVまたはText :: CSV_XSを使用します)。
関連する問題
- 1. Perlを使用して複数のCSVファイルを作成する
- 2. perlでバイト配列を作成して使用するにはどうすればよいですか?
- 3. DOMを使用してCSVファイルを正しく解析するにはどうすればよいですか?
- 4. 「Galaxy」を使用してCSVファイルからアイテムをインポートするにはどうすればよいですか?
- 5. PHPを使用して変数列をCSVファイルにエクスポートするにはどうすればよいですか?
- 6. Perlクラスを作成するにはどうすればよいですか?
- 7. Perlを使用してファイルから略語を抽出するにはどうすればよいですか?
- 8. Perlを使用してパスからファイル名を抽出するにはどうすればよいですか?
- 9. WSDLファイルを使用して.NETでプロキシクラスを作成するにはどうすればよいですか?
- 10. bashスクリプトでcatを使用してファイルを作成するにはどうすればよいですか?
- 11. VBを使用してCSVファイルをデザインするにはどうすればよいですか?
- 12. .Netを使用してOutlook PSTファイルを作成するにはどうすればよいですか?
- 13. Microsoft Dynamics AXを使用してtxtファイルを作成するにはどうすればよいですか?
- 14. 2つの変数を使用してファイルを作成するにはどうすればよいですか?
- 15. AVAssetReaderとAVAssetWriterを使用してAACファイルを作成するにはどうすればよいですか?
- 16. Perlを使用してファイルをダウンロードするにはどうすればよいですか?
- 17. Scala Streamクラスを使用して大きなCSVファイルを読むにはどうすればよいですか?
- 18. wpfでdatavalidationを使用してカスタム動作を作成するにはどうすればよいですか?
- 19. perl 6でスタンドアロンの実行可能ファイルを作成するにはどうすればよいですか?
- 20. Objective-Cを使用して新しいNSWindowを作成するにはどうすればよいですか?
- 21. WinAPIを使用して「はい」ボタンを作成するにはどうすればよいですか?
- 22. PHPを使用して作成したCSVファイルへのダウンロードアクセスを制限するにはどうすればよいですか?
- 23. JavaScriptでファイルを作成するにはどうすればよいですか?
- 24. CSVファイルを使用してPythonで動的辞書を作成するにはどうすればよいですか?
- 25. 継承を使用して汎用クラスを作成するにはどうすればよいですか?
- 26. Rubyを使用してcsvを配列に変換するにはどうすればよいですか?
- 27. jQueryを使用してスクロールするメニューセレクタを作成するにはどうすればよいですか?
- 28. 古いJSESSIONIDを使用してHttpSessionを作成するにはどうすればよいですか?
- 29. ビットコードオプションを使用して太いフレームワークを作成するにはどうすればよいですか?
- 30. .wsgiファイルを作成するにはどうすればよいですか?
これは最適なオプションです。 Text :: CSV_XSは高度に最適化され、滑らかなAPIを備えています。私たちはそれを全部使います。著者は私の目にもCPANのすべてに最も敏感です。彼はモジュールを誇りにし、一流のサポートを提供します。 Text :: CSV_PPは_XSのためにコンパイルできない場合にも素晴らしいフォールバックです。 Text:CSV –
最後の文との合意:Text :: CSVを使用するだけでText :: CSV_XSが読み込まれます(使用可能な場合)。またはText :: CSV_PPに戻った場合システムにはXSバージョンがインストールされていません。 –
@szabgab答えにText :: CSVを使用してCSVを作成する例を教えてください。私はドキュメントを読んでおり、CSVの解析に非常に重点を置いています。作成方法についてはあまり明確ではありません。 –