Każda aplikacja biznesowa posiada opcję zapisz jako CSV. Najczęściej w takim przypadku tworzony jest osobny skrypt, który pobiera dane z bazy i udostępnia je w odpowiednim formacie. Twórcy Zend Frameworka wyszli na przeciw potrzebom programistów i udostępnili helper akcji o nazwie ContextSwitch, który w skrócie można opisać jako mechanizm do zwracania danych w zadanym formacie. Domyślnie ContextSw
だいぶ前にもあったけど、CSVを読み込んだり書き出したり、うにゃうにゃすることがよくあるので、簡単に扱えるものでも書こうかと思って書きました。 ただ、ここで扱うCSVは1行目にfieldName(半角英数)が入ることを前提としています。 利用方法は以下のような感じ。 //ライブラリを読み込む require_once("csv_active_record.php"); //オブジェクト生成 //第1引数はCSVファイルヘのパス、第2引数は文字コード(省略した場合、デフォルトでUTF-8) $object=new CSVActiveRecord("test.csv", "UTF-8");オブジェクトを生成した時点で、CSVがオブジェクト配列として返されます。 ◆CSV "id","name","price","comment" "1","梅おにぎり","105","梅干し入りのおにぎり" "
jQuery でCSVデータを簡単に取り扱える「jQuery CSV」 Check Tweet 配布元:Plugins | jQuery Plugins | CSV ライセンス:Apache License, Version 2.0 jQuery CSVはjQuery でCSVデータを簡単に取り扱うことができるjQueryプラグインです。 利用方法 次にようにCSVデータに対して$.csv()(CSVデータ)を実行することでcsvデータを配列に変換することが出来ます。 var csv = $.csv()(CSVデータ) CSVデータは$.get()などのjQueryのAjaxメソッドを利用して取得します。 $.get('data.csv',function(data){ //Ajax後の処理 }) つまり、次のようなJavaScriptを実行することでCSVファイル(data.csv)のデ
CSV 形式の文字列を配列に分割する むかし日経MIXの awk 会議室で、CSV 形式の文字列を配列に分割するスクリプトが議論されていた。 それを perl で書くと、次のようなものだった。 sub splitcsv { local($csvstr) = @_; $csvstr .= ','; $csvstr =~ s/("([^"]|"")*"|[^,]*),/$1$;/g; $csvstr =~ s/"([^$;]*)"$;/$1$;/g; $csvstr =~ s/""/"/g; return split(/$;/, $csvstr); } ちょっと複雑でわかりにくいが、 $; という perl の特殊変数を使っていることに注目するとよい。 これは、「多次元配列のエミュレーションに用いる添え字セパレータ」[ウォールほか 1997 (1996): 150] である。 フィールドの区切
Perl › ファイル入出力 › here 実際にcsvファイルを読み込んで、Perlのデータ型(配列の配列)に変換して、標準出力に書き出すサンプルです。csvから配列の配列への変換はサブルーチンを使って行っています。何らかのファイルを読み込んで編集するといった場合の基本的な雛形にもなると思います。 use strict; use warnings; # 引数の処理 my $file = shift; unless ($file) { # 引数がないときは、使用方法を示して終了。 die "Usage: $0 file"; } # ファイルを解析してcsv形式のデータを配列の配列に変換。 my @recs = parse_file($file); # 出力( 2次元配列なので、forでたどる ) for my $items (@recs) { # カンマで連結して出力。 print joi
2007年03月07日01:00 カテゴリLightweight Languages 勝手に添削 - PerlによるCSVファイルの高速集計 2 前回に引き続き、今回も引き続きcodezineさんの添削。 添削後のコード #!/usr/local/bin/perl use strict; use warnings; use Text::CSV_XS; my ($rfh, $wfh, %name_of, %addr_of); my $tc = Text::CSV_XS->new({binary=>1}); # to handle non_ascii; my $addr_file = shift or help(); my $q_file = shift or help(); my $out_file = shift; open $rfh, "<", $addr_file or die "$a
2007年02月16日14:30 カテゴリLightweight Languages perl - CSVはText::CSV(_XS)?で このことに異論はないのだけど、 CodeZine:PerlによるCSVファイルの高速集計(CSV, 入門, Perl) 特によく利用されるテキストファイルとして、CSV形式が挙げられます。CSVを集計したい場合、Excelに読み込ませて集計関数やマクロを駆使しているという人も多いかと思いますが、Perlを利用することで、高度な集計作業を簡単かつ高速にできます。 これはちょっと問題。 my @d = split(/,/, $_); 実はCSVというのは以外と扱いにくいフォーマットで、例えば"I, Robot","Robots and Empire"とあったら、I, RobotとRobots and Empireと取り出すフィールドは二つでなければならな
2006年05月27日00:20 カテゴリLightweight Languages TSV vs CSV その通りです、otsuneさん。 404 Blog Not Found:たった一つの冴えたMicrosoft製品 ItoGさんのコメント typo: tsv → csv otsuneさんのコメント >typo: tsv → csv tsvって「タブ区切りテキスト」のことだよね? 表計算をtextとしてpasteするとTSV(Tab Separated Values)に、ExcelでText FileにsaveするとCSV(Comma Separated Values)になるのですが、私はTSV派です。 なんといっても、TSVの方が、圧倒的に処理が楽なのです。CSVは、実はきちんと処理するのが難しく、「CSVを処理するにはどうしたらいいの?」というのはPerlに限らず、スクリプト言語の
こんどは、PHP5.1.2 の fgetcsv() ではまった… fgetcsv() で読み込もうとする csv ファイルの文字コードと、PHP の内部文字エンコーディングが違う場合、fgetcsv() で読み込むと、どうしても文字が腐る … (PHP4 時代[少なくとも 4.3 系統は]は、問題なかった) 【以下みたいな場合】 CSV: Shift_JIS (Windows の Excel で作成されることを想定するとこれ) PHP内部コード: UTF-8 (最近は自分プロジェクトはこれで統一している) で、試しに、CSV のエンコードを UTF-8 にして試すと、うまくいんだよなぁ。 色々調べると、PHP5 からどうやらロケール? に左右されるらしい… (参照URL: PHP-devML) ただ、上記 ML のスレッドでも解決方法(いや解決してないようだが)を試しても、やっぱりダメ。
複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く