export function jsonToTSV(jsonDatas:any[]):string {
if (jsonDatas.length === 0) {
throw new Error('data not exist')
}
const keys = Object.keys(jsonDatas[0])
const titleRow = keys.reduce((acc,title)=>`${acc}\t${title}`,'').slice(1)
const tsvString = jsonDatas.reduce((rowAcc,row)=>{
const rowString = keys.reduce((valueAcc,key)=>`${valueAcc}\t${row[key]}`.slice(1),'')
return `${rowAcc}\n${rowString}`
},titleRow)
return tsvString
}
json array를 받아서 tsv로 변환하는데 아무리 해도
맨 앞의 열의 8자리가 짤려서 10326055229_6398477186가 229_6398477186로 나온다.
원인은... rowString에서 slice를 잘못 지정했다!!!!
그것도 모르고 한참 헤멨네
경력직 맞나 몰라.
제대로 된 코드
export function jsonToTSV(jsonDatas:any[]):string {
if (jsonDatas.length === 0) {
throw new Error('data not exist')
}
const keys = Object.keys(jsonDatas[0])
const titleRow = keys.reduce((acc,title)=>`${acc}\t${title}`,'').slice(1)
const tsvString = jsonDatas.reduce((rowAcc,row)=>{
const rowString = keys.reduce((valueAcc,key)=>`${valueAcc}\t${row[key]}`,'').slice(1)
return `${rowAcc}\n${rowString}`
},titleRow)
return tsvString
}