4

我正在尝试使用 NodeJS 解析 CSV 文件。到目前为止,我已经尝试过这些软件包:

快速 CSV

YA-CSV

我想根据标题将 CSV 文件解析为对象。我已经能够使用 fast-csv 完成此操作,但我的 CSV 文件中有我想忽略的“'”值。即使我尝试使用 fast-csv,我似乎也无法做到这一点

{escape:'"'}

我使用 ya-csv 试图解决这个问题,但是当我尝试时没有写入任何值:

var reader = csv.createCsvFileReader('YT5.csv', {columnsFromHeader:true, 'separator': ','});
var writer = new csv.CsvWriter(process.stdout);
reader.addListener('YT5', function(data){
writer.writeRecord(data);
});

我没有输出,任何帮助都会很棒。谢谢。

编辑:我想要这种格式的输出....

{ 'Video ID': '---kAT_ejrw',
'Content Type': 'UGC',
Policy: 'monetize',
'Video Title': 'Battlefield 3 Multiplayer - TDM na Kanałach Nouszahr (#3)',
'Video Duration (sec)': '1232',
Username: 'Indmusic',
Uploader: 'MrKacu13',
'Channel Display Name': 'MrKacu13',
'Channel ID': '9U6il2dwbKwE4SK3-qe35g',
'Claim Type': 'Audio',
'Claim Origin': 'Audio Match',
'Total Views': '11'
}

标题行是这样的。
视频 ID、内容类型、政策、视频标题、视频时长(秒)、用户名、上传者、频道显示名称、频道 ID、声明类型、声明来源、总观看次数、观看页面观看次数、嵌入式播放器观看次数、频道页面视频观看次数、实时观看次数、录制观看次数、启用广告的观看次数、总收入、YouTube 销售总收入、合作伙伴销售总收入、AdSense 销售总收入、估计每千次展示收入、YouTube 销售净收入、AdSense 销售净收入、多项索赔? ,类别,资产 ID,频道,自定义 ID,ISRC,GRid,UPC,艺术家,资产标题,专辑,标签

所有这些值都将填充一些区域,例如带有单引号的标题。

这看起来很乱,所以如果您需要其他格式,请告诉我。

4

1 回答 1

2

这是通过使用解决的ya-csv

为了使用它,我不得不做更多的研究,但我不知道为我想要读取的数据添加另一个侦听器,它只是被称为“数据”

var reader = csv.createCsvFileReader('YT5.csv', {columnsFromHeader:true, 'separator': ','});
var writer = new csv.CsvWriter(process.stdout);
reader.addListener('data', function(data){
do something with data
}
reader.addListener('end', function(){
console.log('thats it');
}

这从单引号读取文件没有任何问题。

于 2013-11-11T22:24:55.543 回答