質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.35%

  • Node.js

    1997questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

appendfileでcsv作成する際にappendfileが実行されないことがある対処方法

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 257

arasi

score 115

node.jsでcsvファイルを作成しようとしているのですが
appendfileで作成時なぜか一部の部分だけ出力されないときが出てしまいます。
なぜこうなってしまうのか、どうすれば出力されるようになるでしょうか?

var fs = require("fs");
url="test.csv";
        function writeBOM(path) {
            fs.writeFile(path, '\uFEFF', function (err) {
                if (err) {
                    throw err;
                }
            });
        }
        function appendFile(path, data) {
            fs.appendFile(path, data, function (err) {
                if (err) {
                    throw err;
                }
            });
        }
        for(i=0;i<=100;i++){
            appendFile(url, "\"");
            appendFile(url, i);
            appendFile(url, "\"");
            appendFile(url, ",");
            appendFile(url, "\"");
            appendFile(url, i);
            appendFile(url, "\"");
            appendFile(url, ",");
            appendFile(url, "\n");
        }
"0","0",
""1,"1",
"2","2",
"3","3",
"4","4",
"5","5",
6"","6",
"7","7",
"8","8",
"9","9",
"10","10",
"11","11",
"12"",12",
"13","13"
,"14","14",
"15","15",
"16","16",
"17","17",
"18","18",
"19","19",
"20","20",
"21","21",
"22","22",
"23","23",
"24","24",
"25","25",
"26","26",
"27","27",
"28","28",
"29,""29",
"30","30",
"31","31",
"32","32",
"33","33",
"34","34",
"35","35",
"36","36",
"37","37,"
"38","38",
"39","39",
"40","40",
"41","41",
""42,"42",
"43","43",
"44","44,"
"45","45",
"46","46",
"47","47",
"48","48",
"49","49"
,"50","50",
"51","51",
"52","52",
"53","53",
"54","54",
"55","55",
"56","56",
"57,"""57,
58"","58",
"59","59",
"60","60",
"61","61",
"62","62",
"63",""63,
"64",""64,
"65","65",
"66","66",
"67",67"",
"68","68",
"69","69",
"70","70",
"71","71",
"72","72",
"73","73",
"74","74",
"75","75",
"76","76",
"77","77",
"78","78",
"79","79",
"80","80",
"81","81",
"82","82",
"83","83",
"84","84",
"85","85",
"86","86",
"87","87",
"88","88",
""89,"89",
"90","90",
"91","91",
"92","92",
"93","93",
"94",""94,
"95","95",
"96","96",
97"",97"",
"98","98",
"99","99",
"100","100",
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

appendFileは非同期版だと思います。

同期的に処理することが目的のようなので
appendFileSync
を使った方がよいと思います。

https://nodejs.org/api/fs.html#fs_fs_appendfilesync_path_data_options

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Node.js

    1997questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。