2014-03-13 35 views
0

在我的流星應用程序中,我需要導入csv文件並閱讀每個項目的特定顏色。 我的代碼是讀取一個csv文件不工作在流星

var fs = Npm.require('fs'); 
     chroot = Meteor.chroot || 'uploads'; 
     var path = chroot + (path ? '/' + path + '/' : '/'); 
     var content = fs.readFileSync('../../../../../' + path + file_name, "utf-8", function read(err, data) { 
      if (err) { 
      throw err; 
      } 

     }); 

通過這個我得到了我want.But一些情況下,CSV文件就像

name,email,phone,designation,userid 
name1,[email protected],manager,LI-501 
name2,[email protected],"HR,Senior manager",LI-502 

我需要從每個coloumn retreive的用戶ID,即3項。 但是對於第二個條目來說,指定了一個額外的逗號,所以顏色號碼會發生變化。那麼讀取csv文件的最佳方式是哪一種?

回答

0

沒有必要重新發明輪子,已經爲node.js完成了CSV解析器。 This one看起來是最可靠的。如果你還沒有這樣做,你可以使用npm Meteor package在Meteor中使用npm包。

+0

但是當我安裝csv分析器我得到錯誤「無法在這裏設置DOCTYPE。(流星設置<!DOCTYPE html>爲你)」 –

+0

如何安裝它?在'packages.json'裏面,還是你做更多的事情? –

+0

我剛剛運行npm install csv –

0

我使用的HTML輸入元素上油墨filepicker的read方法返回CSV文件的內容:

https://developers.inkfilepicker.com/docs/web/#read

然後我通過內容到jQuery的CSV解析器的toObjects方法,其中有人制作成這裏包:

https://atmospherejs.com/package/jquery-csv

這引起了我的CSV內容放到一個JS對象,然後根據需要,我可以操縱。 jQuery CSV解析器中還有一個toArray方法。

您不必使用Ink filepicker來獲取文件的內容,但對於我來說這是一個不錯的選擇,因爲我已經在使用它了。