@Blog
過去の蓄積を見るために書く日記.
JavaScript(js)でcsvファイルを読み込み自動計算する(合計sum)
文字数[1850文字] この記事は2分19秒で読めます.
謎の訪問者さんが検索窓を使用して何度かググっているので要望にお応えJavaScript(js)でcsvファイルを読み込み自動計算する(合計sum)というものを作りました。以前、csvを元にテーブルを作成するものを作っていました、ソースコードはそれを応用して作っています。実際、数万行に渡るファイルを自動計算するには、かなり爆速のパソコンが必要になります。このプログラムで耐えれるのは精々、1,000行あたりだと思います。
過去のコードと今回のサンプルデモのリンクを貼っときます。
どうぞご自由にお使いください。
https://zip358.com/tool/demo47/
"use strict";
class CsvCalc
{
constructor (filename,elementId)
{
this.filename = filename;
this.elementId = elementId;
this.datas = null;
this.sum = [];
}
async getData()
{
try {
const response = await fetch(this.filename);
if (!response.ok) throw new Error(`HTTP Error: ${response.status}`);
this.datas = await response.text();
} catch (err) {
console.error("データ取得エラー:", err);
this.datas = "";
}
return this;
}
csvSplit()
{
let separate1 = /\r?\n/;
let separate2 = ",";
let datas = (this.datas?.split(separate1))?.map(function(row){
return (row?.split(separate2))?.map(function(col){
return col;
});
});
this.datas = datas.filter(row => row.length > 0);
return this;
}
getSum()
{
let sum =[];
for (const data of this.datas) {
(data).map(function(val,index,array){
sum[index] = (isNaN(parseInt(sum[index]))?0:parseInt(sum[index])) + parseInt(array[index]);
});
}
this.sum = sum;
return this;
}
printSum()
{
document.getElementById(this.elementId).textContent = this.sum.join(',');
}
}
(async ()=>{
await (new CsvCalc("math.csv?", "sum"))
.getData()
.then(obj => obj.csvSplit().getSum().printSum());
})();
2133番目の投稿です/752 回表示されています.
中の人🏠️
AIによるおすすめ記事
著者名
@taoka_toshiaki
※この記事は著者が40代前半に書いたものです.
Profile
高知県在住の@taoka_toshiakiです、記事を読んで頂きありがとうございます.
数十年前から息を吸うように日々記事を書いてます.たまに休んだりする日もありますがほぼ毎日投稿を心掛けています😅.
SNSも使っています、フォロー、いいね、シェア宜しくお願い致します🙇.
SNS::@taoka_toshiaki
タグ
々、, CSV, https, javascript, JS, sum, zipcomjavascripteaeeadebeeeaeaeabecsveeaeaeabeeaaadebfebebceebhtml, zipcomtooldemo, あたり, ググ, コード, サン, サンプル, ソース, それ, テーブル, デモ, パソコン, ファイル, プログラム, もの, リンク, 今回, 以前, 作成, 使用, 合計, 必要, 応え, 応用, 検索, 爆速, 自動, 自由, 要望, 計算, 訪問, 過去,

コメントを残す