Firebase Realtime Database에서 내보낸 JSON을 CSV로 변환
5290 단어 FirebaseFirebaseRealtimeDatabase
개요
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.jsfunction 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...")
}
사용법
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...")
}
사용법
JsonToCsv.js
라는 이름으로 같은 폴더에 넣습니다 input.json
라는 이름으로 같은 폴더에 넣습니다.node JsonToCsv.js
실행 output.csv
라는 이름으로 출력됩니다.요약
가벼운 코드를 작성하려고 할 때 node.js는 놀랍고 편리했습니다.
Reference
이 문제에 관하여(Firebase Realtime Database에서 내보낸 JSON을 CSV로 변환), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yakimeron/items/6385f90b7c6d32c3643b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)