Skip to Content
Nodeクックブック
book

Nodeクックブック

by David Mark Clements, 和田 祐一郎
February 2013
Intermediate to advanced
380 pages
7h 45m
Japanese
O'Reilly Japan, Inc.
Content preview from Nodeクックブック
93
レシピ 4.1 CSV ファイルを出力する
このスクリプトを実行すると、
data.csv
にファイルが保存されています。内容を見ると以下の
ようになっているはずです。
"a","b","c","d","e","f","g"
"h","i","j","k","l","m","n"
解説
CSV
ファイルを出力する際に一番難しい部分が、カンマやクォート記号がデータに混入してい
るといった、エッジケースの処理です。
ya-csv
モジュールはこのようなケースを判定し、適切に
処理してくれます。
ya-csv
モジュールを
require
csv
変数に呼び出し、
createCsvFileWriter
メソッドで
ya-
csv
CsvWriter
のインスタンスを生成し、
writer
変数に格納します。
CsvWriter
インスタンス
には、デリミタやクォート記号、文字コードなどの設定とともに、ファイルに書き込むための
writeStream
オブジェクトが格納されています。
次に、
data
配列に格納された各配列を
forEach
ループでそれぞれ取り出して、
writeRecord
メソッドに渡します。
writeRecord
メソッドはそれぞれの配列をデータ行に再構成して、
fs.WriteStream
のインスタンスに渡しています。
writeRecord
メソッドは、一次元配列を
CSV
1
データ行として処理します。そのため、多次
元配列やオブジェクト形式のデータは、まず一次元配列に整形してから
writeRecord
に渡す必要が
あります。
ya-csv ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Go言語によるWebアプリケーション開発

Go言語によるWebアプリケーション開発

Mat Ryer, 鵜飼 文敏, 牧野 聡
ユーザーストーリーマッピング

ユーザーストーリーマッピング

Jeff Patton, 川口 恭伸, 長尾 高弘

Publisher Resources

ISBN: 9784873116068Other