node.js – NodeJS – 解析CSV文件

我试图使用NodeJS解析CSV文件.

到目前为止,我已经尝试过这些包:

Fast CSV

YA-CSV

我想根据标题将CSV文件解析为对象.我已经能够使用fast-csv完成此操作,但我的CSV文件中有“’”值,我想忽略它.即使我尝试使用快速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,艺术家,资产标题,专辑,标签

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

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

最佳答案 这是通过使用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');
}

这样就可以从单引号中读取文件而不会出现任何问题.

点赞