アカウント名:
パスワード:
そ~ゆ~理由で以前 CSVtoSYLK [microsoft.com] なんて quick and dirty hack なフィルタを書いたことがあります。
# 結局死蔵してるけど。
以前仕事でユーザーが Excel で作った CSV のデータをどうにかする、というのがあったんだけど、Excel が吐き出す CSV はいろいろと厄介 [nifty.com]なんで、テストケースとか絞りきれなくて大変だった。。。
Excel さえ絡まなけりゃそれなりに素直なデータ形式なんですけどね。。。とか言いながら、個人的に何か作るときはタブ区切りで済ませることの方が圧倒的に多いけど (^_^; 。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike
投票はテキストファイルです。 (スコア:1)
Re:投票はテキストファイルです。 (スコア:1)
どんな言語でどんなクラスを作っても、必ず
toTabLime / parseTabLine とかそんなメソッドを作ります(笑)
Re:投票はテキストファイルです。 (スコア:0)
# あるならクレ
Re:投票はテキストファイルです。 (スコア:0)
Re:投票はテキストファイルです。 (スコア:0)
CSVでもデータ構造的には問題ないのだが、見た目の問題は決定的。
Re:投票はテキストファイルです。 (スコア:1)
Re:投票はテキストファイルです。 (スコア:0)
split一発ぢゃ?
改行コードとか、文字列中のカンマとかそういうの?
Re:投票はテキストファイルです。 (スコア:1)
"ab""cd,ef","ghi
jkl"
を、("ab\"cd,ef","ghi\njkl") にはsplit一発じゃできません。
特に改行は、行単位での処理ができなくなるので鬼門です。
Re:投票はテキストファイルです。 (スコア:2, 参考になる)
Re:投票はテキストファイルです。 (スコア:1)
うっうー
Re:投票はテキストファイルです。 (スコア:0)
"ab""cdtab>ef""ghi
jkl"
だと、結局同じじゃ?
Re:投票はテキストファイルです。 (スコア:1)
Re:投票はテキストファイルです。 (スコア:0)
下手にスタイルシート使うより、元データがcsvなのでデータ自体から変えたい時には
かなり便利に使えました。
#スタイルシートが今よりまだ不安定な時期のことですけどね。
Re:投票はテキストファイルです。 (スコア:0)
2.CSV出力はカンマをエスケープもクオートも無しに出力し、
3.入力系ではカンマをはじかない。
どうしろというんだ…_| ̄|,○
Re:投票はテキストファイルです。 (スコア:1)
Re:投票はテキストファイルです。 (スコア:0)
<top id="nn"><aaa>aaa</aaa><bbb>bbb</bbb><ccc>ccc</ccc></top>
解析はこんな感じ。
{local ($/) = qq[<top id=\"$id\">];
<LOG>;
$/ = q[</top>];
my $line = <LOG>;
chomp $line;
%line = ($line =~ m|<(\w+)>(.*?)</\1>|go);
}
解析がちょっと面倒だけど、値に名前がついて
Re:投票はテキストファイルです。 (スコア:1)
Re:投票はテキストファイルです。 (スコア:0)
Re:投票はテキストファイルです。 (スコア:0)
こんなんが延々並んでるだけなので、XMLとは呼べんような気がするんですが、どうなんでしょう?
(個人的には似非XMLとか呼んでるけど)
<top id="nn"><aaa>aaa</aaa><bbb>bbb</bbb><ccc>ccc</ccc></top>
<top id="nn"><aaa>aaa</aaa><bbb>bbb</bbb><ccc>ccc</ccc></top>
<top id="nn"><aaa>aaa</aaa><bbb>bbb</bbb><ccc>ccc</ccc></top>
<top id="nn"
Re:投票はテキストファイルです。 (スコア:1)
Re:投票はテキストファイルです。 (スコア:1)
# 似非XMLより、XMLのフラグメントという感じかな。
そのデータを、
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<elements name="test">
ここ
</elements>
に流し込んで、sample.xslを
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<html>
<head><title><xsl:value-of select="/elements/@name"/></title></head>
<body>
<table border="1">
<tr><th>id</th><th>aaa</th><th>bbb</th><th>ccc</th></tr>
<xsl:for-each select="//top">
<tr><td><xsl:value-of select="@id"/></td>
<td><xsl:value-of select="aaa/text()"/></td>
<td><xsl:value-of select="bbb/text()"/></td>
<td><xsl:value-of select="ccc/text()"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
こんな感じに作れば、ブラウザでXML開くだけで、HTMLテーブル形式で表示できますね。
XSLTプロセッサ使えばCSVとかTSVにも変換できるし、割と便利かも。
Re:投票はテキストファイルです。 (スコア:2, 参考になる)
例えば、もとのデータがdata.txtだとすれば、したの内容のXMLファイルとsample.xslを一緒においておけば、XMLのダブルクリックで表を見れる。
<?xml version="1.0"?>
<!DOCTYPE elements[
<!ENTITY data SYSTEM "./data.txt">
]>
<?xml-stylesheet type="text/xsl" href="sample.xsl"?>
<elements name="test">
&data;
</elements>
なんか似非XML、かなり使えそうな気がしてきた。データに"<"(の小文字)とか"&"を入れる場合に注意する必要があるけど、CSVよりずっと明示的にカラムの範囲を指定できるし、複数行でもOKだし、簡易ビューアがXML+XSLで簡単に作れるし、加工も容易だし。
書き出しするときの手間がCSV/TSVよか若干増えるけど、普通のXMLと違って、単にファイルにアペンドしてけばいいだけだから大した手間じゃないし。
Re:投票はテキストファイルです。 (スコア:0)
(私の回りの)ユーザレベルでは (スコア:1)
テム向けデータ出力用形式。
Lotus123 R2.5Jあたりだと
1,"カンマ入り,文字列",3
を3項目にsplitしてくれていたんですが、Excelでは駄目。
ユーザが非システム系業種の事務職だと、この時点でもう実質的に使い物になりません。
アプリ切り換え時の混乱は思い出したくありません。結局、CSVに吐いてあったデータを全
部Tab区切りにコンバートするはめになりました。FDの使用枚数を減らすためにテキスト出
力していた回覧/保存用のデータだったんですが…
今でも外部システム向けのデータをExcelで作ることがありますが、その際チェック手順
のひとつにかならずカンマの全角置換を入れます。そのシステムもimport時にエスケープを
解釈してくれないんで。
テキスト形式で数値型と文字列型の別を保存出来るという利点を教授出来なければ、CSVは
作成と解釈に手間がかかり、データ内容を制約するフォーマットでしかありません。
機能が変わらないのであれば、タブ区切りの方がよほど使い勝手がいいと思います。
Re:(私の回りの)ユーザレベルでは (スコア:1)
そ~ゆ~理由で以前 CSVtoSYLK [microsoft.com] なんて quick and dirty hack なフィルタを書いたことがあります。
# 結局死蔵してるけど。
Re:投票はテキストファイルです。 (スコア:1)
以前仕事でユーザーが Excel で作った CSV のデータをどうにかする、というのがあったんだけど、Excel が吐き出す CSV はいろいろと厄介 [nifty.com]なんで、テストケースとか絞りきれなくて大変だった。。。
Excel さえ絡まなけりゃそれなりに素直なデータ形式なんですけどね。。。とか言いながら、個人的に何か作るときはタブ区切りで済ませることの方が圧倒的に多いけど (^_^; 。
むらちより/あい/をこめて。
Re:投票はテキストファイルです。 (スコア:0)
仕事でかかわってるシステムがそういうシステムなんで・・・。
Re:投票はテキストファイルです。 (スコア:0)
テキストファイルの中身は、prolog の述語のみ。
スケジュールの登録なんかに良いですよ。
「12月の10日までにあって、hoge2 なスケジュールよりは後」なんてスケジュールも、
sch(2004,12,X,"hogehoge"):-X < 10,sch(2004,12,Y,"hoge2"), X > Y.
って感じで登録できます。もちろん検索時も曖