我使用角2+角CLI来构建一个应用程序。我找到了一个很酷的库'csvtojson‘,它能根据我的演示做我想做的事情,所以我尝试将它包含在我的项目中。然而,我的第一个问题是,是否有可能将这个库包含在我的项目中,因为我不认为它是为角2构建的?如果没有..。这是否意味着我只能把目光移开而感到悲伤?
如果是..。我将如何实现它。我在下面所做的是行不通的。
1. npm i --save csvtojson
2. inside app.module.ts
import { csvtojson } from 'csvtojson'
providers: [
{{...}}
csvtojson //test
],
3. app.component.ts
import { csvtojson } from 'csvtojson'
constructor(private csvToJson: csvtojson) { }
this.csvToJson.csv({ noheader: true })
.fromString(data)
.on('csv', (csvRow) => { // this func will be called 3 times
console.log('afasf',csvRow) // => [1,2,3] , [4,5,6] , [7,8,9]
})
.on('done', () => {
//parsing finished
})我得到了这个错误
未找到./~/csvtojson/libs/core/workerMgr.js模块中的错误:错误:无法在'/Users/james/Desktop/web-app/nod e_模块/csvtojson/libs/core‘中解析'child_process’
发布于 2017-02-04 10:45:39
因为这个库需要在节点服务器上运行,所以不能在浏览器中使用child_process。
对于浏览器,此解决方案可以帮助您https://www.bennadel.com/blog/1504-ask-ben-parsing-csv-strings-with-javascript-exec-regular-expression-command.htm。
发布于 2017-03-28 16:30:19
不需要外部图书馆。
这里是csvTOjson的工作柱塞
import {Component, NgModule} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.html'
})
export class AppComponent {
title = 'csvTOjson works!';
text : any ;
JSONData : any;
csvJSON(csvText) {
var lines = csvText.split("\n");
var result = [];
var headers = lines[0].split(",");
console.log(headers);
for (var i = 1; i < lines.length-1; i++) {
var obj = {};
var currentline = lines[i].split(",");
for (var j = 0; j < headers.length; j++) {
obj[headers[j]] = currentline[j];
}
result.push(obj);
}
//return result; //JavaScript object
console.log(JSON.stringify(result)); //JSON
this.JSONData = JSON.stringify(result);
}
convertFile(input) {
const reader = new FileReader();
reader.readAsText(input.files[0]);
reader.onload = () => {
let text = reader.result;
this.text = text;
console.log(text);
this.csvJSON(text);
};
}
}
@NgModule({
imports: [ BrowserModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule {}https://stackoverflow.com/questions/42039295
复制相似问题