我正在尝试使用NodeJS解析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,艺术家,资产标题,专辑,标签
所有这些值都会填写一些区域,例如带有单引号的标题。
这看起来很乱,所以如果你需要其他格式,请告诉我。
答案 0 :(得分: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');
}
这样就可以从单引号中读取文件而没有任何问题。