CSV - zziuni/d3 GitHub Wiki
Wiki βΈ API Reference βΈ CSV
# d3.csv(url, callback)
κ°μ μ½€λ§λ‘ ꡬλΆν νμΌ(CSV)λ₯Ό HTTP GETμΌλ‘ url μ μμ²νλ€. νμΌ λ΄μ©μ RFC4180μ λ°λ₯Έλ€κ³ κ°μ νλ€. μμ² mime νμ μ "text/csv"μ΄λ€. μμ²μ΄ λΉλκΈ°λ‘ μΌμ΄λλ―λ‘ μμ²μ΄ μΌμ΄λ νμ λ°λ‘ λ©μλκ° λ°νλλ€. CSV λ°μ΄ν°κ° μ¬μ©κ°λ₯ν΄μ§λ©΄ callback κ° νμ±λ μ΄λ€μ μ λ¬μΈμλ‘ λ°μμ νΈμΆλλ€. μλ¬κ° λ°μνλ©΄ μ½λ°±ν¨μλ nullμ μΈμλ‘ λ°μμ νΈμΆλλ€.
# d3.csv.parse(string)
CSV νμΌμ λ΄μ©μ ν΄λΉνλ string μ νμ±ν΄μ κ°μ²΄μ μ΄ λ³λ‘ λ΄μ λ°°μ΄μ λ°ννλ€. μ λ¬μΈμμ λ¬Έμμ΄μ RFC4180λ₯Ό λ°λ₯Έλ€κ³ κ°μ νλ€. parseRows λ©μλμ λ¬λ¦¬ μ΄ λ©μλλ CSV νμΌμ 첫 μ€μ΄ μ½€λ§λ‘ ꡬλΆλ 컬λΌλͺ μ΄μ¬μΌ νλ€. κ·ΈλμΌ κ·Έ 컬λΌλͺ μ΄ λ°ν κ°μ²΄μ μμ±λͺ μ΄ λλ€. μλ₯Ό λ€μ΄ λ€μκ°μ CSV νμΌμ κ²½μ°.
Year,Make,Model,Length
1997,Ford,E350,2.34
2000,Mercury,Cougar,2.38
κ²°κ³Ό λ°°μ΄μ λ€μκ³Ό κ°λ€.
[
{"Year": "1997", "Make": "Ford", "Model": "E350", "Length": "2.34"},
{"Year": "2000", "Make": "Mercury", "Model": "Cougar", "Length": "2.38"}
]
μ£Όμν μ μ κ°μ νμ λ¬Έμμ΄μ΄λ©° μλμΌλ‘ μ«μλ‘ λ³νλμ§ μλλ€. μλ°μ€ν¬λ¦½νΈλ μλμΌλ‘ λ¬Έμμ΄μ μ«μλ‘ κ°μ ν μ μλ€. (μλ₯Ό λ€μ΄, + μ°μ°μλ₯Ό μ¬μ©ν΄μ) μλλ©΄ λ€μμ²λΌ λ°ν κ°μ²΄λ₯Ό μννλ©° λ¬Έμμ΄μ μ«μλ‘ λ³νν΄μΌ νλ€.
rows.forEach(function(o) {
o.Year = parseInt(o.Year);
o.Length = parseFloat(o.Length);
});
μΌλ°μ μΌλ‘ parseIntλ parseFloat λ³΄λ€ + μ°μ°μλ₯Ό μ¬μ©νλ©΄ λ λΉ λ₯΄λ€. λΉλ‘ μ’λ μ νμ μ΄κΈ΄ νμ§λ§. μλ₯Ό λ€μ΄ "30px"μ μ«μ λ³κ²½μλλ₯Ό ν λ, parseIntμ parseFloatκ° 30μ λ°ννλ λ° λ°ν΄μ + μ°μ°μλ₯Ό μ¬μ©νλ©΄ NaNμ λ°ννλ€.
# d3.csv.parseRows(string[, accessor])
CSV νμΌμ λ΄μ©μ ν΄λΉνλ string μ νμ±ν΄μ μ΄ λ³λ‘ λ΄μ λ°°μ΄μ λ°°μ΄μ λ°ννλ€. μ΄ λ¬Έμμ΄μ RFC4180-compliantλ₯Ό λ°λ₯Έλ€κ³ κ°μ νλ€. parseμλ λ¬λ¦¬ μ΄ λ©μλλ 첫 λΌμΈμ λ°μ΄ν° λΌμΈμΌλ‘ λ€λ£¬λ€. κ·Έλ¬λ―λ‘ ν΄λκ° μλ CSV νμΌμ μ¬μ©ν΄μΌ νλ€. κ° μ΄μ κ°μ²΄κ° μλ λ°°μ΄λ‘ ννλλ―λ‘ length λ³μκ° μλ€. μλ₯Ό λ€μ΄ λ€μ CSV νμΌμ 보면
1997,Ford,E350,2.34
2000,Mercury,Cougar,2.38
κ²°κ³Όκ° λ°°μ΄ μ μλμ κ°λ€.
[
["1997", "Ford", "E350", "2.34"],
["2000", "Mercury", "Cougar", "2.38"]
]
κ²°κ³Όμ κ°μ μΈμ λ λ¬Έμμ΄μ΄λ€. μλμΌλ‘ μ«μλ‘ λ³νλμ§ μλλ€. μμΈν λ΄μ©μ parseλ₯Ό μ°Έκ³ νλΌ.
λ λ²μ§Έ μ λ¬μΈμλ μ΅μ μΈμμΈ accessor ν¨μλ€. μ΄ ν¨μλ ν΄λΉ μ΄κ³Ό μμΈ μΈμ λ κ°λ₯Ό κ°μ§κ³ CSV νμΌμ κ° μ΄λ³λ‘ νΈμΆλλ€. ν¨μμ λ°ν κ°μ λ°ν λ°μ΄ν° μ΄ λ°°μ΄μ μμλ₯Ό κ΅μ±νλ€. ν¨μκ° nullλ₯Ό λ°ννλ©΄ κ·Έ μ΄μ λ°ν λ°μ΄ν° μ΄ λ°°μ΄μμ μ κ±°λλ€. μ΄λ° λ©΄μμ accessorλ λ°ν λ°μ΄ν° μ΄μ mapκ³Ό filter μ°μ°μλ₯Ό μ μ©νλ μμ κ³Ό μ μ¬νλ€. accessor ν¨μλ μμ±λͺ μ΄ μλ κ°μ²΄λ‘ κ° μ΄μ λ³ννκΈ° μν΄μ parseλ₯Ό μ¬μ©ν λ μ¬μ©λλ€.
# d3.csv.format(rows)
μ½€λ§λ‘ ꡬλΆλ κ° ννμ λ¬Έμμ΄λ‘ λ°°μ΄ rows λ₯Ό λ³νν΄μ λ°ννλ€. μ΄ μ°μ°μλ₯Ό parseRowsμ λ°λλ‘ λμνλ€. κ° μ΄μ κ°ν((\n)μΌλ‘ ꡬλΆλκ³ μ΄λ³ κ° νμ μ½€λ§(,)λ‘ κ΅¬λΆλλ€. μ½€λ§λ μλ°μ΄ν("), κ°νμ΄ ν¬ν¨λ κ°μ μλ°μ΄νλ₯Ό μ¬μ©ν΄μ λ¬Έμ λ₯Ό μ°ννλ€.
# d3.tsv(url, callback)
d3.csvλ₯Ό μ°Έμ‘°νλΌ.
# d3.tsv.parse(string)
csv.parseλ₯Ό μ°Έμ‘°νλΌ.
# d3.tsv.parseRows(string[, accessor])
csv.parseRowsλ₯Ό μ°Έμ‘°νλΌ.
# d3.tsv.format(rows)
csv.formatλ₯Ό μ°Έμ‘°νλΌ.