Firebase Realtime Database에서 내보낸 JSON을 CSV로 변환

개요



Firebase Realtime Database에서 얻은 로그를 Excel에서 집계하려고 생각하고 가끔 내보내려고하면 JSON에서만 내보낼 수 있습니까? 이제 내보낸 JSON을 CSV로 변환하는 잡음 node.js 코드를 기록해 둡니다. (다시 조사하면 기존 라이브러리 이 있었기 때문에 그쪽에서도 좋을지도 모른다)



조금 밖에 조사하고 있지 않지만, 웹 인터페이스 뿐만이 아니라 SDK나 CLI 경유에서도 아마 JSON 밖에 취득할 수 없다.

JSON -> CSV 변환 코드



gist에도 싣고 있는, 쓸데없는 처리가 많지만 결과는 잘 되었다.
htps : // st. 기주 b. 코 m / 야키 메탄 / 123c, 8c227562, 141792908, 4d9, cd

JsonToCsv.js
function replace(text) {
    return text
        // 余計な文字の削除
        .replace(/(".*" : \{|\{|\}|".*" : |^      )/g, '')
        // 1つのデータの塊を1列に変換
        .replace(/",\r?\n/g, '", ')
        // 半角スペースをすべて削除
        .replace(/ /g, '')
        // 行間のカンマとその行を削除
        .replace(/"\r?\n,/g, '"')
        // 行と行の間にある3つの改行を1つに変換する
        .replace(/\r?\n\r?\n/g, '\n')
}

const fs = require('fs');
const text = fs.readFileSync("input.json", 'utf-8');
console.log(replace(text));

try {
    fs.writeFileSync("output.csv", replace(text));
    console.log("Success!");
} catch(e) {
    console.log("Failed...")
}

사용법


  • node.js 의 환경 구축을 한다
  • 모든 폴더 만들기
  • 위의 js 코드를 JsonToCsv.js라는 이름으로 같은 폴더에 넣습니다
  • 변환하려는 json 파일을 input.json라는 이름으로 같은 폴더에 넣습니다.
  • node JsonToCsv.js 실행
  • 변환 된 csv 파일이 output.csv라는 이름으로 출력됩니다.

    요약



    가벼운 코드를 작성하려고 할 때 node.js는 놀랍고 편리했습니다.
  • 좋은 웹페이지 즐겨찾기