X



CSVファイルのスレ
0273NAME IS NULL
垢版 |
2019/08/18(日) 01:01:50.14ID:???
Cassava Editorっていまもまだ更新続いてるのか・・・
現在進行形で10年以上、更新が続いているってすごいな
作者尊敬するわ
0274NAME IS NULL
垢版 |
2019/09/05(木) 20:35:26.00ID:DlL3ZhYX
>>273
あすかぜさんは神

あすかぜさん無しでは生きていけない
0275NAME IS NULL
垢版 |
2019/09/13(金) 00:27:52.13ID:JsZ81e/N
Cassava Editorが存在することで日本の生産性が向上していることは間違いない
0276NAME IS NULL
垢版 |
2020/05/13(水) 11:02:45.60ID:???
幾度ものタピオカブームの浮き沈みも関係なく
cassava editorは進歩する
0277NAME IS NULL
垢版 |
2020/05/14(木) 13:55:32.06ID:???
SUMとかAVERAGEとかの基本的な関数だけでも実装してくれたらなぁ。。
0278NAME IS NULL
垢版 |
2020/07/04(土) 23:14:10.34ID:pcZg9qmx
「Cassava Editor」https://www.asukaze.net/soft/cassava/ v2.2.0 (2020/07/04)
64 bit 版を追加。
マクロファイルの文字コードを Shift-JIS から UTF-8 に変更。
ただし、UTF-8 として読み込めない場合は Shift-JIS として解釈される。

これぞ最強・最速・最高性能
0279NAME IS NULL
垢版 |
2020/07/09(木) 10:48:02.22ID:IGkzCBkT
>>278
あざーす!
0280NAME IS NULL
垢版 |
2020/12/23(水) 01:22:06.12ID:???
CSVはRFCに従うよりエンマークでエスケープした方がLinuxで使いやすい

RFCとは別にPOSIXのCSVとしてエンマークエスケープのCSVが普及して欲しいと思う今日この頃
0281NAME IS NULL
垢版 |
2021/10/08(金) 19:00:11.25ID:???
ASCIIセパレータのことも思い出してあげてください
0282NAME IS NULL
垢版 |
2022/07/17(日) 23:11:42.70ID:/HVWy/+u
制御文字は人間に優しくないのがつらいんよねー
システマチックに使うだけなら良いかも
0283NAME IS NULL
垢版 |
2022/09/03(土) 22:15:45.24ID:euVNIg62
Twitterで100GBのCSVを10GBのメモリのPCでソートするにはどうすればよいかって話題になってた
どうやればよいのだろうね
0284NAME IS NULL
垢版 |
2022/09/05(月) 13:23:03.79ID:???
死ねばいいんじゃないんですかね
そういうシステムを作っちゃうやつは必ず同じ失敗を繰り返す
0285NAME IS NULL
垢版 |
2022/09/05(月) 13:49:58.15ID:Tc12+IoI
システムの良し悪しじゃなくてDBに入れるとかそういう具体的なやり方の話をしたかった
0286NAME IS NULL
垢版 |
2022/09/05(月) 22:33:25.90ID:???
CSVは基本可変長レコードだから、ファイルへのランダムアクセスでデータが取り出せない
それだけでソート行うのに不適ってわからない時点でもうダメ
データの入れ替えもとんでもなく困難

ファイルを固定長にするという発想があれば
ソートも入れ替えも比較的容易に出来るんですがねぇ…
あとはメモリ使用量の少ないソートアルゴリズムを選べばいい
0287NAME IS NULL
垢版 |
2022/09/08(木) 13:59:49.98ID:ZUZFeHFR
だめだこりゃ
0288NAME IS NULL
垢版 |
2022/09/08(木) 14:00:37.37ID:ZUZFeHFR
イキりマンがいるとダメだ
0289NAME IS NULL
垢版 |
2022/09/08(木) 23:42:26.53ID:???
まさかcsvのソートができないなんて上から目線で言うやつがいるとは思わんかった。
0290NAME IS NULL
垢版 |
2022/09/09(金) 10:39:32.97ID:???
ではイキリマンとは違う事を
正解を示すことで証明していただきたい
0291NAME IS NULL
垢版 |
2022/09/09(金) 21:39:53.42ID:???
ふふふそうはいかない
お前に利は与えぬ
0292NAME IS NULL
垢版 |
2022/09/09(金) 23:06:48.13ID:ybJikvqo
ふふふ
0293NAME IS NULL
垢版 |
2022/09/11(日) 01:48:03.55ID:Mo970C1D
ソートするだけならマージソートでやれば良い
マージソートはレコードをシーケンシャルに読み書きしていくだけで良い

CSVが100GBで、1レコードが1KBだと仮定するとレコード数は1億
log2(1億) = 26.5
27回はスプリットとマージを繰り返さないといけない
100GB * 27 * 2(読みと書き) = 5400GB
ストレージの読み書き速度が500MB/sだとして3時間

性能要件的に3時間が是か非か

SQLiteやPostgreSQLにデータを入れてSQLでソートするにしても
DBではデータがノーマライズされるうえにインデックスも構築されるから
なんだかんだで同じくらい時間がかかりそう

RedshiftやBigQueryといった分散処理ができるDBを使えば速いだろうけど
ネットワークの速度が100MB/sだと仮定するとデータを転送するだけで16分かかるから
なんだかんだで20分前後かなあ

ストレージのIOがボトルネックになるとしてそれを改善するには
CSVを1回読んでレコードの(sortkey, offset, length)の組を抜き出してその組をソートして最後にレコードを抜き出すのが良い
1つの(sortkey, offset, length)が40バイトだとしてそれが1億あると4GB、PCのメモリが10GBならオンメモリでソートできそう

RFC4180に従う汎用的なCSVを入力として受け付けるならoffset, lengthの計算がちと面倒かもね
入力の生データを保持してCSVをパースできるならレコードをパースして生データからoffset, lengthを計算すればよいけれども
対応してるライブラリがあるかはわからない、CSVのパーサを自作する必要があるかも
0294NAME IS NULL
垢版 |
2022/09/11(日) 02:08:10.54ID:Mo970C1D
10GBに収まるギリギリまでメモリ上でソートすればいいので27回も繰り返す必要はないのか
ストレージ上のデータがメモリ上では10倍になるとしてメモリ上でソートできるのは100万レコードくらいかな
100万レコードが100個できるとして
log2(100) = 6.6
100GB * 7 * 2(読みと書き) = 1400GB
ストレージの読み書き速度が500MB/sだとして47分
結構速いな
0295NAME IS NULL
垢版 |
2023/05/24(水) 21:48:12.59ID:???
Excel365で開くと、最初は問題なく開けるのに、
しばらく使ってから開くと文字化けするのはなに?
文字化けするファイルもしないファイルも文字コードは同じ
PC再起動すれば一時的に直るけど、またしばらく使ってると再発する
0296NAME IS NULL
垢版 |
2023/06/03(土) 19:09:16.93ID:WlpZXlkv
BOMが消されてるんじゃない?
レスを投稿する


ニューススポーツなんでも実況